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
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
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
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
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
stephan
b6503f1444
Cygwin-centric fixes from Jan Nijtmans.
...
FossilOrigin-Name: 205979813c7300debb5f1ba270583ef2f08e069d6d01865b5910702889a5c1ed
2025-03-06 13:38:07 +00:00
drh
43afab28a0
GCC 13 has become more quite pedantic about the signature of functions matching the
...
type of pointers through which the functions are called. Make adjustments to
extension functions and test procedures to work around this. No changes to the
core.
FossilOrigin-Name: ed83b79100b4345235aec990303c4526874f0c2f8701160c4639a80633ebaf70
2025-01-13 11:28:34 +00:00
drh
deb6a60a84
Fix harmless compiler warnings.
...
FossilOrigin-Name: 60fb8ee153ec293b6b3a4170dafa305e4c16af575aced72daef46116d8dc2bb6
2024-09-06 11:21:53 +00:00
drh
064b681e9b
First attempt at getting the build to work with Tcl 9.0.
...
FossilOrigin-Name: 6e5bb48a74d63fb8c30528f0005d1763cd2dbb882abf86baf1565721e6bfcf84
2024-07-30 15:49:02 +00:00
dan
0f78aafec8
Add tests for sqlite3changegroup_add_change().
...
FossilOrigin-Name: 9d67bedc20c3a59e5488f0eaea6a6611940a9cb63f7cf5e687b061cb5d510943
2024-05-06 17:21:23 +00:00
dan
5b80dbe6b3
Add new sessions API sqlite3changegroup_add_change().
...
FossilOrigin-Name: 73647db1ddfdaf40cbf18f1e47c10b4a906489f6d34d7667f0f2ff532f1eb37c
2024-05-04 21:10:24 +00:00
drh
5ba99da869
Fix harmless compiler warnings in test code.
...
FossilOrigin-Name: d1895dd8f5757a339f619f22b29c8a739398ded673bb9c93f1b8eb8a4b38f510
2023-10-31 17:40:30 +00:00
dan
17c3408e0e
Add the SQLITE_CHANGESETAPPLY_FKNOACTION flag to sqlite3session.h, for passing to sqlite3changeset_apply_v2() to cause all foreign key constraints to behave as if they were declared NO ACTION.
...
FossilOrigin-Name: fc9f82ea084159eaf3dd1757b96d17d1201b00c4e06455a7dcd8067172b25f28
2023-10-20 17:06:39 +00:00
drh
4a11142072
Fix harmless compiler warning in the test module for sessions.
...
FossilOrigin-Name: 3d5ec99397c183cfb8c5d31e1967e0df8a4d6edbea92bbdf728571e3a6a36d68
2023-10-09 12:39:59 +00:00
dan
53e91a5e22
Add tests for the sqlite3changegroup_schema() API.
...
FossilOrigin-Name: 5dab481c101b1523b1cfde92678cbc654ea26d946bf29da372d71c1f89cbaf46
2023-10-06 19:01:43 +00:00
dan
655a1b7b58
Allow the sessions module to be configured to capture changes from tables with no explicit PRIMARY KEY.
...
FossilOrigin-Name: 8a612f0860126c0c8473b1e65fcabb9a8821d8bf09fdf3f6018acfc99df9af71
2023-04-24 19:22:21 +00:00
dan
975f2062da
Add the SQLITE_CHANGESETAPPLY_IGNORENOOP flag, which may be passed to sqlite3changeset_apply_v2() to have it ignore changes that would be no-ops if applied to the database (e.g. deleting a row that has already been deleted), instead of considering them conflicts.
...
FossilOrigin-Name: cb023fe28560ce0f8c2fd48042553fcdb9db81eba9552be75165de0d46a2645c
2023-03-08 18:03:04 +00:00
drh
9ce8643676
Add the "devtest" makefile target that runs both fuzztest and testrunner.
...
FossilOrigin-Name: c81398c6215d6d1bc7a15b6be9bb1f81effd430ff0a7c86158372accfa77814c
2023-02-05 17:40:03 +00:00
dan
5d75eb3fbf
Fix a comment in ext/session/test_session.c.
...
FossilOrigin-Name: bd814af14b6d67c4f8cf6482a0657f9437811a2820196ea6ccf22514291fe360
2022-12-13 19:52:23 +00:00
dan
e1dcb44307
Prevent the sessions rebaser from generating changesets containing UPDATE records for which non-PK fields are present in the old.* but not the new.* record. Also update the changeset iterator to work around such changesets.
...
FossilOrigin-Name: f9cd23dffba06b1982c0a5e5362dba53eba768120a2daa985b4f649d3fea1427
2022-12-13 19:40:56 +00:00
dan
6d29a4fe5b
Add the sqlite3session_object_config() API. Current used to enable/disable collecting data for sqlite3session_changeset_size().
...
FossilOrigin-Name: 4d5fd2151e024d11289b6c4fbce2996d8d07b2b5a1c953ef895c237e79d3aa55
2021-04-22 17:40:28 +00:00
dan
a23a873fbb
Add the experimental sqlite3session_changeset_size() API.
...
FossilOrigin-Name: b5564a6fd54875db1de884fdc0e5eeabcd6aa5595ad03a8a60843503e830a2d8
2021-04-21 20:52:17 +00:00
dan
3ddc3809bf
Fix a Tcl object leak in test_session.c.
...
FossilOrigin-Name: 07150cf15ad36c7fc681a911f66db23d610ddf110a7be7f1fcefbd8750cd135a
2021-03-11 15:57:25 +00:00
dan
0cb735b9fb
Add the sqlite3session_memory_used() API to the sessions module. For querying the amount of heap memory currently being used by a session object.
...
FossilOrigin-Name: 823f75c2e448b649cbe9e174be21524ae3f580beedced65701ad49a2dcc5ee19
2020-12-23 16:46:39 +00:00
dan
19f7bd3b07
Ensure that the table argument passed to Tcl_GetIndexFromObjStruct() in the sessions module test code is declared "static".
...
FossilOrigin-Name: 80eba105d6d1b49ba8ca2ad4e14ddec2de0bdc2f6686c2f8a1c1d24fc1fe846f
2020-10-26 16:22:31 +00:00
dan
1f48e67db1
Add the sqlite3session_config() interface. For configuring global parameters
...
belonging to the sessions module.
FossilOrigin-Name: 1e69f3ff057b0be27a9e79842de2485f8299799f309e89bfa7597dd688e0975b
2018-10-26 17:05:00 +00:00
dan
46de072880
Add the sqlite3changeset_start_v2() - a new version of _start() that accepts a flags parameter - and a streaming equivalent to the sessions module. Also add the SQLITE_CHANGESETSTART_INVERT flag, used with start_v2() to invert a changeset while iterating through it.
...
FossilOrigin-Name: cbedcb9aaefdfe00453efbdf0eac6c15e1f53bbe8fff2e7d534a5adf23be04f5
2018-10-20 13:48:09 +00:00
dan
44748f27a6
Add the SQLITE_CHANGESETAPPLY_INVERT flag to sessions. For inverting and applying a changeset in a single step.
...
FossilOrigin-Name: d4b6406e7f5ba06ac73ab9fdef57232b2459e0af12420ed946ebed6aef46f0b1
2018-10-18 14:59:21 +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
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
a87070a271
Use some of the example code from the sessions documenatation in the sessions test cases.
...
FossilOrigin-Name: 6602974d17536bcb904a794bddedffd58926794b
2016-08-29 14:18:18 +00:00
mistachkin
c08556844e
Add macro necessary for building several extensions when the __stdcall calling convention is not in use.
...
FossilOrigin-Name: bc8c9b55ddf5227dc6b2116486f4a19bf54fce2b
2016-07-29 01:31:49 +00:00
mistachkin
2d45d7bfab
Missed a couple Tcl command deletion callbacks.
...
FossilOrigin-Name: fc5c187602acceedf7152b6927616d134f779a8f
2016-07-28 23:58:25 +00:00
mistachkin
afe18262b4
Use the SQLITE_TCLAPI macro in several extensions that were missed in the previous check-in.
...
FossilOrigin-Name: df2543652b835353c03956dfbd3e35e5b191372e
2016-07-28 23:54:45 +00:00
mistachkin
52b1dbb5fc
Allow the 'testfixture.exe' target to be compiled with the __stdcall calling convention.
...
FossilOrigin-Name: e8be3dfeabaa31b3490793cf8230faae1204be15
2016-07-28 14:37:04 +00:00
mistachkin
c5896b5cbb
Even more compiler warning fixes.
...
FossilOrigin-Name: 7faec9ea335c53953338886398b85aef87348a1c
2016-04-12 20:15:12 +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
cf8e91442d
Add experimental API sqlite3session_diff().
...
FossilOrigin-Name: c4340b2ea2115ad97dcac036f9034e132ab789e5
2015-04-08 16:01:12 +00:00
drh
f1a08ad88d
Change the names of the stream interface APIs to be of the form
...
"_strm" instead of "_str". In other words, added an "m" to the end, to
try to make it clear that we are talking about a "stream" and not a "string.
FossilOrigin-Name: 1f44bfdc237ee6304f4aa56e5c5d1c0d74fcc944
2014-09-27 20:45:48 +00:00
dan
e8fa8c9649
Fix a segfault in the streaming API functions triggered by a very long table name.
...
FossilOrigin-Name: d2642543eed54da1ac0f757d43dd4d72482eb752
2014-09-27 16:33:09 +00:00
dan
cbf6d2d2aa
Add streaming version of sqlite3changeset_concat().
...
FossilOrigin-Name: 88eb6656bdb047a104837a2e15e7fe18c0a7a159
2014-09-25 20:43:28 +00:00
dan
fa122adac1
Add streaming version of sqlite3changeset_invert() to sessions module.
...
FossilOrigin-Name: 8ded6a46794c7bff1c8b790c662ba7e92f576380
2014-09-25 14:54:20 +00:00