drh
03168cacd5
A reasonably complete implementation of the "changeset" command-line tool
...
and the ".sessions" command in the command-line shell.
FossilOrigin-Name: 7b12f1f9c012f33d376242920583807b014b3287
2014-08-18 20:01:31 +00:00
drh
3a67b0453e
Add the "changeset" command-line utility for getting an ASCII dump of
...
change sets.
FossilOrigin-Name: 55bb3544a6b474c04853270067a35ca4b0079f52
2014-08-18 17:56:31 +00:00
dan
082c96dffa
Add miscellaneous test cases to improve coverage of sessions module.
...
FossilOrigin-Name: 0fac6cfffe628ea02c78ebad065307309ec9eaa1
2014-08-18 16:03:46 +00:00
dan
2e934cd40c
Add tests for sessions module.
...
FossilOrigin-Name: 82fdb1975f5b29a751089a8582713372999ae56e
2014-08-18 08:42:36 +00:00
dan
a71d2371d0
Fix some missing and out-of-date comments in the sessions module.
...
FossilOrigin-Name: 05c1d9149b27c68e2654ed28491722927d2176f5
2014-08-16 19:01:00 +00:00
dan
64277f4a70
Fixes for the sqlite3changeset_concat() API regarding patchsets.
...
FossilOrigin-Name: dccb34859508eac8146ae5b19c447673d04be3b0
2014-08-16 16:47:55 +00:00
dan
73b3c05590
Begin adding the sqlite3session_patchset() API to the sessions extension. This is an interim commit.
...
FossilOrigin-Name: 60a4565a8c44762a002cd02979317df5ca47e899
2014-08-15 20:15:49 +00:00
drh
87778c7f96
Fix a harmless compiler warning in the sessions test harness.
...
FossilOrigin-Name: d389e20ab07a76d0c4be3801265977fa977a4394
2014-03-06 15:01:11 +00:00
drh
b7bc8c9849
Enhance the test harness for the sessions interface so that it does not
...
use SQLite operations that can encounter an OOM error in places where it
is unable to report an OOM error back up to the test script.
FossilOrigin-Name: bc0e661033b78f27866932244e6204985ae39000
2014-03-06 14:53:25 +00:00
drh
5671ef69ec
Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix.
...
FossilOrigin-Name: b006792695d23980e1923b21915d5c1138ecf29d
2014-02-11 04:30:29 +00:00
drh
fba5765b57
Fix two test cases (due to changes in the formatting of constraint errors)
...
so that all tests now pass.
FossilOrigin-Name: 129e2b69178147d04ee27fce66c17b39f8654da3
2013-11-11 23:02:10 +00:00
dan
7531a5a378
Add the sqlite3session_table_filter API to the sessions extension.
...
FossilOrigin-Name: b7e4dd889d37c8f57c2d3c7900e802f644aac3ea
2013-08-23 17:43:32 +00:00
drh
07001c45a1
Remove the undocumented sqlite3_foreign_key_check() API and replace it with
...
sqlite3_db_status(db, SQLITE_DBSTATUS_DEFERRED_FKS, ...). Add test cases
for the new functionality.
FossilOrigin-Name: d39e65fe702a2e11477f2d996f77404f45763368
2013-07-11 13:49:59 +00:00
dan
bded90b487
Fix a bug preventing some FK constraint checking from being deferred until the end of changeset application.
...
FossilOrigin-Name: 1452defb8cfcc489230314dd1e0425feba46c49d
2013-07-04 15:22:53 +00:00
dan
cb3e4b797e
Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset, or to apply it, constraint violations and all.
...
FossilOrigin-Name: 1d44e5d3c2b1dc958442f9114a960b256e002ed3
2013-07-03 19:53:05 +00:00
dan
35e2858e98
Fixes for the sessions module so that it works with sqlite3_extended_error_codes() set.
...
FossilOrigin-Name: c2972b6aed23f6c76a289534de9ea4732a48f40e
2013-07-02 20:23:40 +00:00
drh
644abec3a4
Merge trunk changes into the sessions branch.
...
FossilOrigin-Name: 512f8a1ef8c4cf50723cfc4a78b7370dc37358d9
2013-05-09 23:40:58 +00:00
drh
1ffe7c7fab
Also export the sqlite3changeset interfaces in the amalgamated version of
...
the sessions extension.
FossilOrigin-Name: 5b399f2bc43612c52ea2289001d852d7ba6f9750
2013-03-19 17:10:10 +00:00
drh
40eaa08620
Update the sessionfault-9.1 and -9.2 tests to account for the change in
...
version 3.7.11 in which a pending statement no longer blocks ROLLBACK but
instead causes the next call on that statement to return SQLITE_ABORT.
FossilOrigin-Name: fae9eb197fcef726fd2c7c701afe6805fc008cf9
2012-09-28 12:55:56 +00:00
dan
964cbd469b
Fix errors in a comment in sqlite3session.c. No changes to code.
...
FossilOrigin-Name: d5f4c4c0bf0d488db11c6ab0d26ca3554a57d0ff
2011-07-26 17:53:53 +00:00
dan
1e556c3fe5
Fix a test case in sessionfault.test. No changes to code.
...
FossilOrigin-Name: dc6ecacd7724089a0387e69a0fd5cdbfdd2023f8
2011-07-26 15:57:56 +00:00
dan
cfec7eee20
Fix a problem causing sqlite3changeset_invert() to effectively drop UPDATE changes.
...
FossilOrigin-Name: bb3e65d9724dcecdc54b4c9fb0448f95d14495ff
2011-07-26 15:50:36 +00:00
dan
ff53032641
Fix the sqlite3session_isempty() method so that it returns, as documented, non-zero when no changes have been recorded by the session object.
...
FossilOrigin-Name: d04e0fd82a15aee963e35830caf8159b4b6ccd87
2011-07-18 15:22:56 +00:00
dan
a93166e030
Fix error in a comment in sqlite3session.h. No changes to code.
...
FossilOrigin-Name: 70c84e50209722a61d66fd737e42d49275745b62
2011-07-16 18:35:53 +00:00
dan
b69ec3482a
Note in the documentation that when iterating through a changeset, all changes to a single table are grouped together. Also add the sqlite3session_isempty() function.
...
FossilOrigin-Name: 364f3b820a26f9b15cf74a0222ed5e302becc54f
2011-07-16 18:05:07 +00:00
dan
4f52804206
Add a few casts required by 64-bit VS2010 to the sessions code.
...
FossilOrigin-Name: 5ac4a06111b5fad5f58c20ef5d2b65aeb23e105a
2011-07-15 19:11:32 +00:00
dan
40368988da
Add the xFilter callback to the sqlite3changeset_apply() function. This callback allows the application to accept or reject changes on a per-table basis when applying a changeset.
...
FossilOrigin-Name: 282474c42f24f0e66c69b576b72ef8ce764d49e2
2011-07-13 15:21:02 +00:00
dan
e437ca5ec0
Modifications so that the sessions extension works with blob handles.
...
FossilOrigin-Name: 82ac16c4f873d3bd7c22f36ba7b974b4903a2d50
2011-07-11 19:45:38 +00:00
dan
77fc1d5bb4
Fix further missing comments and other minor issues in the session module code.
...
FossilOrigin-Name: 99f0f35092b0b78b7016b21c242da263ab64b77b
2011-04-18 15:47:08 +00:00
dan
798693b2b1
Fix some missing comments and other issues with session module code.
...
FossilOrigin-Name: 20d7c280235201e519f296372f269e7cecda24da
2011-04-18 12:05:03 +00:00
dan
80fe2d9310
Further coverage tests for the session module.
...
FossilOrigin-Name: 69a01c708bf044eacf21a8951fe9e7d9fb4332c5
2011-04-18 07:36:27 +00:00
dan
6734007d75
Improve test coverage of session module.
...
FossilOrigin-Name: f46d4b641d613c39a80b12106e6a6ac0efc8be83
2011-04-16 19:23:10 +00:00
dan
b08a1efae5
Improve coverage of session module.
...
FossilOrigin-Name: 3dfd1d63bddfa9bd9018eb00bee1d496379630b5
2011-04-15 19:18:57 +00:00
dan
1756ae10e1
Add tests and fixes for OOM handling in sqlite3changeset_concat().
...
FossilOrigin-Name: df0b2d21dcd81679e55b24866f97568019932983
2011-04-15 16:03:32 +00:00
dan
f29123b572
Have sqlite3changeset_concat() return SQLITE_SCHEMA if an attempt is made to concatenate changesets based on incompatible database schemas.
...
FossilOrigin-Name: 343b64517d244b75097e38342dc273eb5a52915b
2011-04-15 15:04:31 +00:00
dan
29e03e977c
Add documentation for sqlite3changeset_concat() to sqlite3session.h.
...
FossilOrigin-Name: ada9efa53a6ea55f89d237cfd530f1d180343e19
2011-04-15 12:04:50 +00:00
dan
6cda207f5f
Add further tests for the sqlite3changeset_concat() function. Also fixes.
...
FossilOrigin-Name: 1fc3f15d88c160b45642b46d1d54c591af058ba2
2011-04-14 18:01:41 +00:00
dan
5d607a6e06
Start adding the sqlite3changeset_concat() function to the session module.
...
FossilOrigin-Name: 8927b2260b8d84f53776cb29e1d2fa41b6b0de0e
2011-04-14 11:16:21 +00:00
drh
36828bd9bb
Add a missing "extern C" terminator to the end of sqlite3session.h.
...
FossilOrigin-Name: 29090b695a95feaba1b74f9894997083a060263a
2011-04-06 23:40:28 +00:00
drh
cfdbde214b
Fix VC++ compiler warnings.
...
FossilOrigin-Name: 7b7c8d366c51e89aefc6efc9dcffe3f62c7e1d25
2011-04-06 23:39:28 +00:00
dan
5d8a298495
If the sessions module is being built as part of the amalgamation, do not try to include sqliteInt.h and vdbeInt.h.
...
FossilOrigin-Name: f87bfe6e12093e5958b658a49d3766fb29562cbb
2011-04-01 15:30:39 +00:00
drh
9b1c62d416
Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option.
...
FossilOrigin-Name: 6634521461e6acff7cc778590e62d57831f9230d
2011-03-30 21:04:43 +00:00
dan
e5754eec26
Improve coverage of session module a bit more.
...
FossilOrigin-Name: 4255a9f609c4fd43582a0874143eabe211199726
2011-03-25 19:06:09 +00:00
dan
f51e5f6c99
Improve coverage of session module code.
...
FossilOrigin-Name: 666123c8d07be87d477e67b1cebef2b0fba5b4bc
2011-03-25 10:52:01 +00:00
dan
a9605b9125
Fix handling of schema changes mid-session.
...
FossilOrigin-Name: 76d2d2ad3b2a5171393b7894f35f463ff284e53b
2011-03-24 16:53:57 +00:00
dan
ca62ad57f0
Fix handling of schema mismatches in sqlite3session.c so that it matches the docs in sqlite3session.h.
...
FossilOrigin-Name: 506a0d7a710e1ff2f367821e73f5080fcf63fbc5
2011-03-24 16:04:54 +00:00
dan
244593c846
Store primary key definitions for modified tables in changesets. Add the sqlite3changeset_pk() API to extract this data from a changeset iterator.
...
FossilOrigin-Name: 54298ee5ed183d1f1c49524f25e8ae1407f3d4b5
2011-03-24 11:22:59 +00:00
dan
b4480e942f
Add the "indirect flag" to the changeset blob format. Also the sqlite3session_indirect() API.
...
FossilOrigin-Name: 1feaf2d35fd9ec777319717ae2c2929d66fe7baa
2011-03-23 16:03:11 +00:00
dan
245b49b203
Fix a crash that can follow an OOM when "all tables" are registered with a session module.
...
FossilOrigin-Name: 183c236e991faaabdc768e52e926c52cf4a7abc9
2011-03-22 16:54:12 +00:00
dan
ff4d0f41bb
If a NULL pointer is passed to sqlite3session_attach() in place of a table name, attach all database tables to the session object.
...
FossilOrigin-Name: e9037e4e4ccaa5c633759c4d041b60b631b92c6c
2011-03-22 15:21:03 +00:00
dan
7aa469cdd3
Add OOM tests and related fixes for the session module.
...
FossilOrigin-Name: 06048a68b351e3eb15a890cb54db8a1d4b345fbc
2011-03-22 12:08:00 +00:00
shaneh
157546f4df
Fix a couple typos for consistency in sessions documentation.
...
FossilOrigin-Name: 510198f171b9f77a4ad49c06c978c5fbb3a5b7f9
2011-03-22 02:03:23 +00:00
dan
db04571c79
Remove some unreachable code in sqlite3session.c. Add test cases.
...
FossilOrigin-Name: 39cdfa5324ae91bfbbac733b1e3e2d33ca883340
2011-03-21 19:41:29 +00:00
dan
12ca0b5695
Add start of fault-injection tests for session module. Fix some bugs related to the same.
...
FossilOrigin-Name: 32e95164d1192b87b1ab019549fd2394642cd3fe
2011-03-21 16:17:42 +00:00
dan
27453faef8
Clarify handling of NULL values in PK columns in sqlite3session.h. Add tests and fixes for the same.
...
FossilOrigin-Name: aed4273054cbd150c86b36ea951d17c981633ba0
2011-03-21 11:55:06 +00:00
dan
4e895da185
Fix session module problems with real (floating point) values.
...
FossilOrigin-Name: a192d04f4e3a9e4960a4d96d1d3ee8635bc1034d
2011-03-21 11:03:24 +00:00
dan
77e6500473
Fix some typos in sqlite3session.h.
...
FossilOrigin-Name: 0853e530cc8d96f025f5160540e8ab3243dea11b
2011-03-21 07:23:09 +00:00
dan
a2df3d9f95
Documentation format updates to sqlite3session.h.
...
FossilOrigin-Name: f227f60210fba3930f3050aebb1facee8bac9c0b
2011-03-20 11:20:41 +00:00
dan
d7fb7d24c6
Fix a problem involving session objects and attached databases.
...
FossilOrigin-Name: ad91d30073a8faa7eb064dd2e1cc4d2297d7b3f8
2011-03-19 19:19:26 +00:00
dan
1f34f8cc71
Fix a bug in changeset generation code.
...
FossilOrigin-Name: 825df75ba453c853953e17ec29653e11c46f92bb
2011-03-19 18:46:15 +00:00
dan
4565faa990
Move session1.test from test/ to ext/session/.
...
FossilOrigin-Name: c4436a936ab302aec3b7f41a4552f69ad5815744
2011-03-19 17:07:57 +00:00
dan
4131639c63
Fix a problem with resizing a hash table in sqlite3session.c.
...
FossilOrigin-Name: 6e5907e14d3316d56313243c4f8ce8f14d0858fc
2011-03-19 16:26:11 +00:00
dan
7cf7df7d35
Fix some bugs in sqlite3changeset_apply().
...
FossilOrigin-Name: 7250318dda542c5bbf28852c1f1d0f3c52ae8f96
2011-03-19 15:37:02 +00:00
dan
4c22025225
Hold the database mutex for the duration of an sqlite3changeset_apply() call. Also for the duration of all sqlite3session_xxx() calls.
...
FossilOrigin-Name: c615c38c3283e21c33550c093099a793761123a7
2011-03-18 18:03:13 +00:00
dan
2635a3be20
Further improvements to documentation in sqlite3session.h.
...
FossilOrigin-Name: 07019bb9e8d8f2445d1e0342f74ab520e9804cb5
2011-03-18 16:13:53 +00:00
dan
c21111daff
Update comments in sqlite3session.h. More to come.
...
FossilOrigin-Name: e73e9082f3b14088752717193a10dd7657deb8af
2011-03-18 13:05:15 +00:00
dan
e8d5648e16
Change to the session module to use user-defined primary keys instead of rowids when collecting changes.
...
FossilOrigin-Name: 6614cfcb9c41da71ddec3c44a3de0d4d849e1cdd
2011-03-17 19:20:27 +00:00
dan
37db03bf73
Add the sqlite3_preupdate_new() API, for retrieving the new.* values from within a pre-update callback.
...
FossilOrigin-Name: 526545c49f64d9063d1b888cfc14ece62fa3c13c
2011-03-16 19:59:18 +00:00
dan
296c76589f
Fix some bugs and other code issues in the session module.
...
FossilOrigin-Name: f2930840e4af3d7d9cb199d316502932fcbbb867
2011-03-15 16:37:27 +00:00
dan
0c698471d1
Fix handling of return values from the conflict handler. Document the conflict handler arguments and return codes in sqlite3session.h.
...
FossilOrigin-Name: cbbb274e500237dbf7155a51d4f9c17583d704ea
2011-03-14 19:49:23 +00:00
dan
37f133ec31
Fix some issues with UPDATE changes in the session module.
...
FossilOrigin-Name: 57862efe718fdc93401998f9058511292a0e1a50
2011-03-12 17:22:46 +00:00
dan
d5f0767c9c
Add the sqlite3changeset_apply() function. Does not yet handle all cases.
...
FossilOrigin-Name: 2b19be7bf753c7dd12e1c3b384981a3ea1bc8145
2011-03-11 19:05:52 +00:00
dan
91ddd5595b
Add a function to the session extension invert a changeset.
...
FossilOrigin-Name: 75d5dff725dbb66d67d56ad042926f1daae56dbe
2011-03-09 11:17:05 +00:00
dan
4fccf43aae
Add start of sessions feature.
...
FossilOrigin-Name: 269a81a37d7dbdcdec3c2322074916af0fbac91c
2011-03-08 19:22:50 +00:00