drh
5aa1e7cd30
Disable the delta checksum verification in RBU by default. Reenable it using
...
-DRBU_ENABLE_DELTA_CKSUM, if desired.
FossilOrigin-Name: d22c99b6ba997179ef3ccd341d9c36d5213d699305d15942d82587a0bfd16f9d
2017-10-05 11:29:37 +00:00
dan
f21124f251
Add experimental API sqlite3rbu_temp_size_limit(). For limiting the amount of
...
temporary disk space RBU uses.
FossilOrigin-Name: 7fdd629830679db620d477df3c206bf84598cc935ccb51547c0d8444a186b63e
2017-09-05 16:24:38 +00:00
dan
0c2e5cfda5
Fix some problems in RBU test cases. Also update RBU source code to better
...
handle the trivial case where an RBU update is applied to a database zero
pages in size.
FossilOrigin-Name: 7676b39bc120ae23da0c6a14452eb99a58901ee45c3d43b8beae426f9e4dc0c3
2017-08-03 15:43:55 +00:00
dan
2ebf8f474e
Fix sqlite3rbu_close() so that the pzErrmsg parameter may be passed NULL.
...
FossilOrigin-Name: c433672dd8ab625628bde2f4f40a2dc000ed915dbe91833d3f753d8ab51baf25
2017-06-13 16:52:34 +00:00
dan
0e9b43ff85
Before beginning an incremental checkpoint in RBU, sync the directory
...
containing the target database file. This ensures that the new directory entry
created by renaming the *-oal file to *-wal is synced to disk.
FossilOrigin-Name: 915a9a28783fbb2f4c0794eb4264ce8c0b9d42f7
2017-03-03 16:51:46 +00:00
dan
1d62a66230
Fix another RBU case similar to the previous. This one for systems where the
...
sector-size is larger than the page-size.
FossilOrigin-Name: 4012bb3aa91927156ba149caa4e5c622b0729d79
2017-03-02 16:56:48 +00:00
dan
cb1b0a693a
When saving the state of an RBU update in the incremental-checkpoint phase,
...
sync the database file. Otherwise, if a power failure occurs and the RBU
update resumed following system recovery, the database may become corrupt.
FossilOrigin-Name: edee6a80e1cc7e6a2b8c3c7f76dd794fc8ab9a72
2017-03-02 14:51:47 +00:00
dan
25fd2e247b
Fix a problem that could cause a spurious SQLITE_NOMEM error when attempting
...
to resume an RBU operation if the previous client failed right after
completing the incremental checkpoint. Also a "cannot vacuum wal db" error
that could occur when resuming an RBU vacuum if an error (OOM or IO error)
occurs during the incremental checkpoint.
FossilOrigin-Name: 681d96eb822e606da53700867191d4738bda20c8
2017-01-17 10:41:42 +00:00
dan
ef2f5925d8
Fix a problem preventing resumption of RBU operations after recovering from a
...
process or system failure that occurs during the incremental-checkpoint phase.
FossilOrigin-Name: 97914266cb4ec63b0c9185ab139673139bd2f0ed
2017-01-13 18:24:37 +00:00
dan
1bf4ca7c42
Add the "modeof=<filename>" URI parameter to os_unix.c - used to specify a file to copy permissions from when a new database is created. Also allow passing NULL as the second parameter to sqlite3rbu_vacuum().
...
FossilOrigin-Name: ed406d31ff54ee3de8db91690a966e5c561f8f94
2016-08-11 18:05:47 +00:00
dan
e336b8914c
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation.
...
FossilOrigin-Name: 92e7df0ff5c4c118c63d92a767dc82700438a310
2016-07-01 12:39:58 +00:00
drh
c14566aff3
Fix RBU so that it builds with -DSQLITE_ENABLE_8_3_NAMES.
...
Fix "PRAGMA compile_options" for SQLITE_ENABLE_8_3_NAMES such that it reports
the numeric setting: "1" or "2".
FossilOrigin-Name: 0230ca17ba20ecd3d213788ad6891973d52a7b72
2016-06-13 19:58:46 +00:00
dan
82a1c0e5bb
Fix an issue preventing RBU vacuum from working with virtual tables.
...
FossilOrigin-Name: 3bd85fa5a9a489fd505c973e37c33a76c1b0e957
2016-06-01 10:37:50 +00:00
dan
ae20690e2c
Update the RBU vacuum code so that databases that use custom collation sequences can be vacuumed.
...
FossilOrigin-Name: 7dd48c10790a7b9c4165214399c261a0aa701297
2016-04-25 19:25:12 +00:00
dan
b7a208686a
If a call to sqlite3rbu_close() on an rbu handle opened by sqlite3rbu_vacuum() returns other than SQLITE_OK, delete the contents of the rbu_state table. This ensures that if an RBU vacuum operation either completes successfully or encounters an error, the next call to sqlite3rbu_vacuum() with the same parameters starts a new RBU vacuum operation.
...
FossilOrigin-Name: 6e4ac704f51bdd1e0b16814f6a45ab29f26400ee
2016-04-21 16:44:38 +00:00
dan
2e8bfb67d4
Fix a problem in rbu vacuum on tables with a large sqlite_master table.
...
FossilOrigin-Name: 23eac52e987996afe8db847921aef434cebd25b5
2016-04-21 15:26:26 +00:00
dan
94d49697b5
Add a documentation comment for sqlite3rbu_vacuum() to sqlite3rbu.h.
...
FossilOrigin-Name: da5c753ddac3cbfdf03710a82f5fd9fa2e29e819
2016-04-20 20:08:58 +00:00
dan
132dde5cdf
Add fault injection tests for rbu vacuum. Fix some problems revealed by the same.
...
FossilOrigin-Name: f042fdd1ea7febec7228e51efc2b0281805e196a
2016-04-20 17:47:52 +00:00
dan
1aea63032a
Updates to ensure the values of PRAGMA settings like "page_size", "auto_vacuum", "user_version" and "application_id" are not lost when a database is RBU vacuumed.
...
FossilOrigin-Name: 74ffea76b8c9ddd7699ce6ca77dce005bd7922ac
2016-04-19 19:27:09 +00:00
dan
46f0035b48
When an RBU vacuum is started on a db identified using a URI filename, pass the same URI parameters when creating the new version of the db. This ensures that RBU vacuum works with password protected databases.
...
FossilOrigin-Name: ca021ba88106500f347ed65199a4832bc9eb5ef8
2016-04-19 17:11:05 +00:00
dan
bff4b6367c
Detect attempts to use rbu vacuum on a wal mode database (not allowed). And attempts to write to a database in the middle of an rbu vacuum (which prevents the vacuum from resuming).
...
FossilOrigin-Name: 00b2f4b09ffca5156e43c4db2bfe0b2c979c49b0
2016-04-19 16:20:24 +00:00
dan
58e3812988
Another fix to rbu vacuum for a zipvfs case.
...
FossilOrigin-Name: 29407d70e44ad9ea5ddaf1011d0e212b602a3ddf
2016-04-18 21:00:01 +00:00
dan
beccf1d16f
Fix some zipvfs related problems in RBU vacuum.
...
FossilOrigin-Name: d76f4aaa4caab713460421bd27365a82ac986c20
2016-04-18 18:18:18 +00:00
dan
2bb5f4478e
Changes so that rbu vacuum works with zipvfs databases.
...
FossilOrigin-Name: bae7f875f476f6e01112751cb404fef42ba0a01c
2016-04-16 19:02:53 +00:00
dan
977cbe78b3
Avoid creating any extra files ("<target>-vacuum") when running an RBU vacuum. Ensure that the OAL file created is "<target>-oal", not "<target>-vacuum-oal".
...
FossilOrigin-Name: dc19aacc7e99213edca9bb57b5c11a8a1ac99113
2016-04-16 17:53:14 +00:00
dan
f89157653a
Add the experimental sqlite3rbu_vacuum() API function. For opening an RBU handle that rebuilds a database from scratch.
...
FossilOrigin-Name: 0216b48f28042ad86711e00802c2da8ce9be3044
2016-04-15 20:46:41 +00:00
mistachkin
77fac879d2
More harmless compiler warning fixes.
...
FossilOrigin-Name: ab69527c1608da0b668f3b49e967661dd99cc3d4
2016-04-12 20:05:06 +00:00
dan
fce07fb944
Fix a problem detecting invalid values in the rbu_control column of an rbu database table.
...
FossilOrigin-Name: a1132dd9027d1c6dd845be307eeb38e535393f2c
2016-03-19 17:09:30 +00:00
dan
eea627da9e
Add further tests for sqlite3rbu_bp_progress(). Fix a problem in handling WITHOUT ROWID tables in the same.
...
FossilOrigin-Name: 65e02368e2b6cec349ea71af5a456d6783b0d15e
2016-03-18 20:12:28 +00:00
dan
789780d8f6
Change the name of the new API on this branch to "sqlite3_bp_progress". Add tests and documentation for the same.
...
FossilOrigin-Name: 1a1b69e87eb7d18f76f5b733e44da75136a686b6
2016-03-18 18:56:45 +00:00
dan
fe485c0e56
Add tests for the changes on this branch. Fix a problem with calls to the new progress indicator API made after an rbu update has been resumed.
...
FossilOrigin-Name: bf82321724d3b0feb51e26d9b76090e03cc3964a
2016-03-18 10:29:47 +00:00
dan
e42195b044
Add an API to indicate the percentage progress of an rbu update.
...
FossilOrigin-Name: ffc58d2c2576a5b6e1c2c7112612c5760e711afd
2016-03-17 21:06:42 +00:00
drh
15d36c603d
Remove an unused goto label in the RBU extension.
...
FossilOrigin-Name: 2179a106e8dd7943d4f37093e65ce7826720904e
2016-03-08 16:02:37 +00:00
dan
e45216fd9d
Add a new row type to RBU (a peer of insert, update and delete) - "delete then insert".
...
FossilOrigin-Name: 169311c85b30f625bdb6986c9cd11db70942d73b
2016-03-07 17:39:30 +00:00
drh
e1ee002891
Fix a couple of harmless warnings generated by clang.
...
FossilOrigin-Name: a1a3ff1f53145c5a9fbf29398cf4a453729e71f0
2016-02-19 15:17:53 +00:00
drh
7647377f52
Fix harmless compiler warnings in RBU and add RBU to the autoconf and windows
...
makefiles.
FossilOrigin-Name: fabe78c5d8ab353988f6fe0decacd651edc17ec2
2016-01-14 13:22:24 +00:00
mistachkin
b2682eb14b
In the RBU extension, use MoveFile() instead of rename() on Windows CE.
...
FossilOrigin-Name: df9ef61f1ba2e3a3420fae84e3eaa2e0e235bc28
2015-10-08 17:35:51 +00:00
dan
2798f0b54b
Fix compiler warnings in rbu code.
...
FossilOrigin-Name: 0fdc36fe35ae2fc8e9688fe6c53437f4d47502d9
2015-08-28 16:41:45 +00:00
dan
5ef2b281aa
When updating a zipvfs database with RBU, set journal_mode=off to prevent the upper-level pager from creating a large temporary file.
...
FossilOrigin-Name: dec14a3980dcf6c61b0b9ac4ba82fa963ac346d4
2015-08-19 08:34:34 +00:00
dan
82d7aea6d4
Add the sqlite3rbu_savestate() function to the rbu extension. To force rbu to save its state to disk without closing the sqlite3rbu* handle.
...
FossilOrigin-Name: 851a875ad6b81f90960caf4d03b116afc911858d
2015-08-13 18:26:09 +00:00
dan
4510faa6df
Avoid invoking system call unlink() directly from RBU code. Use the xDelete method of the default VFS instead.
...
FossilOrigin-Name: ee966af8ff79189f8b90f3557dea21059517dfe2
2015-08-13 11:46:21 +00:00
drh
027616d4ce
Fix compiler warnings and remove unreachable code.
...
FossilOrigin-Name: be190fe7826d157fc5acd84210095725b059e4f6
2015-08-08 22:47:47 +00:00
dan
d50bd6b0aa
Update RBU to avoid repreparing a statement immediately after it is prepared.
...
FossilOrigin-Name: 1d75a41bb2f7fcd32f9f08768517b814e452e456
2015-08-08 15:13:08 +00:00
dan
a9ca8afef5
Add support for "fossil deltas" to RBU and "sqldiff --rbu".
...
FossilOrigin-Name: e26ef165fe2f7524684af0d269d38475ea8b9489
2015-07-31 19:52:03 +00:00
dan
c1e8ae679a
Allow RBU tables to be named "data[0-9]*_<target>" instead of strictly "data_<target>". Also update RBU so that it always processes data tables in order sorted by name.
...
FossilOrigin-Name: 287aa30601506f168d355c35176a3383474444ca
2015-07-30 11:38:19 +00:00
mistachkin
24fa5435ee
Enable the RBU extension to compile cleanly on Windows using MSVC.
...
FossilOrigin-Name: cca79fdc3dff65907c2a59369057265b4512058f
2015-07-24 21:19:25 +00:00
dan
5555741bdc
Allow the RBU module to read data from appropriately named SQL views created within the RBU database.
...
FossilOrigin-Name: 45c6a760ca63d19a7ccc352c7e35d8391025b515
2015-07-24 18:58:59 +00:00
drh
cfb8f8d6a9
Change the name of the OTA extension to RBU: Resumable Bulk Update.
...
FossilOrigin-Name: 017c5019e1ce042025d4f327e50ec50af49f9fa4
2015-07-23 20:44:49 +00:00