dan
f544b4c4b8
Modify the merge-sort in wal.c so that it does not use recursion.
...
FossilOrigin-Name: daea6c054cee3564d8460d876b78a325ebc382dd
2010-06-25 11:35:52 +00:00
drh
a927e94e71
Make sure the wal-index reader detects an incorrect version number even if
...
it had to hold a lock in order to read the wal-index. Also, expand and enhance
various comments in wal.c.
FossilOrigin-Name: 2e6a462cebc05bfd4648d26dd5ae70b68844aa5f
2010-06-24 02:46:48 +00:00
drh
cd28508e58
Fix and/or improve comments in wal.c. No code changes.
...
FossilOrigin-Name: ee9991be082202c6637adb47affc777e7917be04
2010-06-23 22:00:35 +00:00
dan
10f5a50e57
Add a version number to the wal-index header. If SQLite encounters a version number in either the wal or wal-index files that it does not understand, the operation is abandoned and SQLITE_CANTOPEN returned.
...
FossilOrigin-Name: 8d0f8a7f70d6fb42369411a934b30f8c8ca8322f
2010-06-23 15:55:43 +00:00
drh
a715211820
Disable code used only by the codec when the codec is not deployed.
...
FossilOrigin-Name: 2c90276e340aa19d78d2e33c9f759f8eda0b82a3
2010-06-22 21:15:49 +00:00
dan
47ee386f06
Add codec support to wal mode.
...
FossilOrigin-Name: 393741eba353d5d242b8e3c96db3ea2b92228036
2010-06-22 15:18:44 +00:00
drh
ffca43014b
Updates to comments and testcase() macros in wal.c.
...
FossilOrigin-Name: 4d90cc0bc07e791b2838fc384866bd5c2282f681
2010-06-15 11:21:54 +00:00
dan
188019153d
Remove xShmGet/Size/Release from the sqlite3_vfs structure. Change the name of xShmPage to xShmMap. Remove some code that is now unused from os_unix.c and some of the test VFS implementations.
...
FossilOrigin-Name: fc0cabc15c97dde6a852b4f07df6d30f1d2c04bc
2010-06-14 14:07:50 +00:00
dan
ad3cadd8b2
Update some comments in wal.c. No code changes.
...
FossilOrigin-Name: 1ce9c92bffa5d7f8431c005b29d698b0f5b95875
2010-06-14 11:49:26 +00:00
dan
d60bf11036
Change the interface to internal function walGetHash() to make it easier to follow.
...
FossilOrigin-Name: 5e8e2e978ea48ce4ad93a936c838934f33d665df
2010-06-14 11:18:50 +00:00
dan
067f3165d8
Add the xShmPage method to the "crash" vfs in test6.c.
...
FossilOrigin-Name: 1008f536440840da7d56c01ec147a25295fd1fd4
2010-06-14 10:30:12 +00:00
dan
5d656852f7
Add some fault-injection tests to improve coverage.
...
FossilOrigin-Name: 37b26d125f4b1d8e75bb38800fefd145611f94aa
2010-06-14 07:53:26 +00:00
dan
4280eb3004
Fix some problems with handling IO errors on the experimental branch.
...
FossilOrigin-Name: eade8bc238df580412f5cf1b91a91532ae671e46
2010-06-12 12:02:35 +00:00
dan
13a3cb82ce
Experimental change to the xShmXXX parts of the VFS interface.
...
FossilOrigin-Name: ca68472db01c14a899892007d1cbaff5e86ae193
2010-06-11 19:04:21 +00:00
dan
199100e2cd
When restarting (wrapping) a log file, set all unused aReadMark[] slots to READMARK_NOT_USED instead of 0. Setting them to 0 does not cause a problem, but may cause SQLite to obtain and release a few more file locks than would otherwise be necessary.
...
FossilOrigin-Name: 0797b10c0cc08ae38e26685d1f8331e37d428781
2010-06-09 16:58:49 +00:00
drh
db7f647e41
Shift the meaning of aReadMark[] back so that +1 offset from mxFrame is
...
removed. Add the new READMARK_NOT_USED value (0xffffffff) instead of
zero to signal an aReadMark[] that is not in use.
FossilOrigin-Name: c576827d55c156572b76cf7063e9f253ca6e7403
2010-06-09 14:45:12 +00:00
dan
15651f61df
Simpler fix for the race condition also fixed by [7c102c7b5f]
...
FossilOrigin-Name: 3c2de820034e01c2e939bd90a05a58159f60df50
2010-06-09 11:28:43 +00:00
dan
640aac48f3
Add further test cases for the logic in sqlite3WalBeginReadTransaction().
...
FossilOrigin-Name: a49713db39d0d6940b368206d4e669aa69aa1fe5
2010-06-05 19:18:59 +00:00
dan
eb8cb3a851
Clarify the purpose of a test for a race-condition in walIndexReadHdr().
...
FossilOrigin-Name: c041c6a9786bc9ebb82527f7a2c96d255aec927f
2010-06-05 18:34:26 +00:00
dan
493cc590b6
Remove a condition from sqlite3WalRead() that is unreachable as of the changes to clear entries out of the wal-index hash tables on transaction or savepoint rollback.
...
FossilOrigin-Name: 394204735a842b04b677cca20485b1578e475d4c
2010-06-05 18:12:23 +00:00
dan
0626bd65fb
Mark a condition in wal.c as ALWAYS().
...
FossilOrigin-Name: 3fe0cc784ac586358c08f87fba458dfbb5eec6f2
2010-06-05 14:42:57 +00:00
dan
3cac5dc9bc
Clarify an assert in sqlite3WalExclusiveMode().
...
FossilOrigin-Name: 255850699ddbf4aad8cc3223aefbada35daa0703
2010-06-04 18:37:59 +00:00
dan
0153a9bc04
Remove an unnecessary branch from wal.c.
...
FossilOrigin-Name: 8e54786c9a0c5c399f228f56c73271f84d75694b
2010-06-04 17:16:52 +00:00
dan
d764c7de25
If an attempt to sync the database file as part of a checkpoint fails, do not update the shared "nBackfill" variable. Otherwise, another process could wrap the log and overwrite content before it is synced into the database.
...
FossilOrigin-Name: b813233d7604a5fd91e1af91d5d812032eec700a
2010-06-04 11:56:22 +00:00
dan
83f42d1b38
Fix a problem where an SQLITE_BUSY in the checkpoint code was being treated as an IO error (abandoning, instead of just limiting, the checkpoint).
...
FossilOrigin-Name: 02c4040ce2b4c970b3dee09f7c9ad5a2a3a9aa49
2010-06-04 10:37:05 +00:00
drh
2d37e1cfb9
When a lock fails due to an I/O error (not an SQLITE_BUSY) then the checkpoint
...
should fail.
FossilOrigin-Name: c6eb0a27270df69018576232d8f97c16d63d8f6e
2010-06-02 20:38:20 +00:00
dan
6e6bd5658f
Fix a problem with rolling back to a savepoint opened before the writer decided to wrap the log file.
...
FossilOrigin-Name: 6b4aed6aae7dc9e92807d27375cbe1e83c15841b
2010-06-02 18:59:03 +00:00
drh
38933f2c11
When walTryBeginRead() encounters an I/O error trying to set a lock
...
(as opposed to SQLITE_BUSY) be sure to propagate that error back up
the call stack.
FossilOrigin-Name: aa2c2b67a7f50c97a44cca1af5c437bf5410869c
2010-06-02 15:43:18 +00:00
drh
aab4c02e47
Changes to make WAL more robust against SHM locking failures and OOM errors.
...
FossilOrigin-Name: ebf4041383c3cdddb5861960359abd209d4a1028
2010-06-02 14:45:51 +00:00
dan
9971e710e4
Delay the decision to restart the log file until data is actually ready to be written to the log file (instead of at the start of a write transaction).
...
FossilOrigin-Name: b1abfaaf5309cc0d0dda4fb2c237862c8cf83261
2010-06-01 15:44:57 +00:00
drh
f77bbd9fc5
Fix a bug introduced by the previous check-in but only seen if
...
SQLITE_ENABLE_EXPENSIVE_ASSERTS is turned on.
FossilOrigin-Name: 9c9ec8994bf701249efce6c7bb911de4525808c8
2010-06-01 13:17:44 +00:00
drh
9c1564779e
Fix an off-by-one boundary-value issue in walCleanupHash().
...
FossilOrigin-Name: f039552e6330b6a04281748f985b41937f534bd0
2010-06-01 12:58:41 +00:00
dan
e877296705
If the checkpoint fails to obtain an exclusive lock on one of the read-lock bytes, do not consider this an error.
...
FossilOrigin-Name: 9e95e35728cf69a0ae50e774d7f6c71a41b17d97
2010-06-01 10:44:28 +00:00
drh
181e091ff3
Comment edits and cleanup in wal.c. No functional code changes.
...
FossilOrigin-Name: e8e666ab8273f5db5265f0773b39820f75b6df1a
2010-06-01 01:08:08 +00:00
drh
61e4acecf4
Fix issues with locking_mode=EXCLUSIVE in WAL.
...
FossilOrigin-Name: 8deba0cebd135a18da68530fab9e7d19dc21ddcb
2010-05-31 20:28:37 +00:00
drh
4b82c387c9
Add an "isInit" field in the wal-index header that must be non-zero for
...
a valid header. Use this to detect an uninitialized wal-index.
FossilOrigin-Name: a16fde190183d1ae252d1aa305b23fdb88c603dc
2010-05-31 18:24:19 +00:00
drh
15d6809222
Fix an inconsistent #ifdef in wal.c. Fix os_unix.c so that it does not allow
...
moving an SHM lock directly exclusive to shared without going through unlocked.
FossilOrigin-Name: 552658da2845c2323167b6c7db6e5c00090f280c
2010-05-31 16:56:14 +00:00
dan
d0aa34277f
Avoid dropping the checkpoint lock after a recovery run as a precursor to a checkpoint operation.
...
FossilOrigin-Name: cc25cfa04630a43c1de26f2dbdacbe46c110a2b5
2010-05-31 16:41:53 +00:00
dan
3dee6da994
Zero the checkpoint header as the last step of successful WAL recovery. Avoid an unnecessary lock/unlock in WalBeginReadTransaction.
...
FossilOrigin-Name: db3509c55dfe288650b803622e3a0828c6e59aea
2010-05-31 16:17:54 +00:00
drh
20e1f08e0b
Get the new xShmLock interface design working on os_win.c.
...
FossilOrigin-Name: 149a7082e266edf0dc25c23823a9e240f5285215
2010-05-31 16:10:12 +00:00
drh
18b7f604aa
Make sure WAL alway requests enough shared-memory space.
...
FossilOrigin-Name: 138f128317b6695530ca3fde7be4cdf22548cd22
2010-05-31 14:39:31 +00:00
drh
34116eaf6a
Do not fail a checkpoint just because active readers prevent backfill.
...
FossilOrigin-Name: 9aa4243e0cedcc9204994d04af1b2b7a80c048bd
2010-05-31 12:30:52 +00:00
drh
c74c333408
Add WALTRACE() macros to help with debugging and analysis.
...
FossilOrigin-Name: 765c33181a7b9d99b452ce750d69f217b3c81a5d
2010-05-31 12:15:19 +00:00
dan
1beb939db1
Another minor fix to checkpoint on the WAL branch.
...
FossilOrigin-Name: 853f1e3f7720af2723b552bdf086bb106e6e93fe
2010-05-31 12:02:30 +00:00
dan
0cc5b2b6c6
Fix a bug in checkpoint introduced by [181ceb32ea].
...
FossilOrigin-Name: b499dbc88a67b4200b5f527be88be4ac90f7043f
2010-05-31 11:39:53 +00:00
dan
d54ff60bf4
Fix some asserts and other things in the new WAL branch.
...
FossilOrigin-Name: 181ceb32ead7f540a7c6437f53a5b0f3e78162db
2010-05-31 11:16:30 +00:00
drh
c99597ca10
WAL runs but quickly deadlocks.
...
FossilOrigin-Name: ace58acbf1fad13d2be96cafebc3a22875098d03
2010-05-31 01:41:15 +00:00
drh
73b64e4d2e
Initial code for incremental checkpoint in WAL mode. This check-in compiles
...
on unix and runs as long as you do not engage WAL mode. WAL mode crashes and
burns. Consider this check-in a baseline implementation for getting the new
capability up and running.
FossilOrigin-Name: ef3ba7a17ff90674d702e5694b9e792851ab6998
2010-05-30 19:55:15 +00:00
drh
bab7b91e99
Make sure the wal-index mapping is always large enough to cover the entire
...
active area of the wal-index.
FossilOrigin-Name: 42705babba0e9d2ef078845854bebbd168f23366
2010-05-26 17:31:58 +00:00
drh
026ac28b28
Change the semantics of xShmGet() such that it will never increase the size
...
of shared memory. xShmSize() must be used to grow the size of shared memory.
A shared memory segment size cannot be shrunk (except by dropping it).
FossilOrigin-Name: 72de00731245277b2209103ec0a76e3d4f56530e
2010-05-26 15:06:38 +00:00