3014 Commits

Author SHA1 Message Date
dan
a4bc123f83 Change the OOM and IO error test cases in walfault.test so that each test case runs both types of error simulation.
FossilOrigin-Name: b627e1536822bb7e3ef91867661a53be0efc13ef
2010-06-01 17:46:38 +00:00
dan
98fbfe703e Merge with [15abbc3416].
FossilOrigin-Name: f4b9003a2d3db88eaabb4b291e6cea8e8ea6ff51
2010-06-01 14:30:49 +00:00
dan
f9b7671066 If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level.
FossilOrigin-Name: ce64496509a213c08c9dedae2a7a456b393d22e5
2010-06-01 14:12:45 +00:00
dan
5f3f3b2962 Fixes to the test cases in wal2.test.
FossilOrigin-Name: cd5fbcbce8b55f24c0bf349b179c26e333ff7172
2010-06-01 07:51:47 +00:00
drh
ad24581e65 Attempt to get the filectrl.test script running.
FossilOrigin-Name: e46a8f2b752f86c4d8942ee125210516026ffdc2
2010-06-01 00:28:42 +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
dcb1169fb7 Update another test case in wal.test.
FossilOrigin-Name: 99fde69e61d12cf95b47db70c4647c30be2d2f45
2010-05-31 14:18:45 +00:00
drh
a2ac9df170 Change WAL test cases to account for the improved concurrency in the new
checkpoint logic.

FossilOrigin-Name: 2d6f2485053e6d2a67abda9a80693ca68f4556d2
2010-05-31 13:11:49 +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
dan
d54ff60bf4 Fix some asserts and other things in the new WAL branch.
FossilOrigin-Name: 181ceb32ead7f540a7c6437f53a5b0f3e78162db
2010-05-31 11:16:30 +00:00
dan
8521abfd48 Changes to the way one of the WAL/OOM tests works.
FossilOrigin-Name: 15abbc34168f7a5bd418254c2b16aac97029e6ea
2010-05-31 06:38:34 +00:00
dan
a7a0c615d7 Add tests to fkey2.test to check that ON CONFLICT clauses do not affect SQLite's behaviour when an FK constraint is violated.
FossilOrigin-Name: e9e5b1001986348ef0f88c19de87b94559a5451e
2010-05-29 08:40:37 +00:00
dan
94b7f76b96 i
i
Minor changes to checksum related test cases.

FossilOrigin-Name: 60c22bde52121993d4bea11eef38ab285c737e2c
2010-05-29 06:18:54 +00:00
dan
5f168a5d53 Add a test to walcksum.test to stress the checksum calculation.
FossilOrigin-Name: 778d0c1768f73057be912793631e0cf0575858fb
2010-05-28 04:16:28 +00:00
dan
fa408ada0a Add a busy-handler to a test case in walthread.test to prevent errors.
FossilOrigin-Name: d3d348aa975c58c37088eb2830081880896b85e7
2010-05-25 15:23:51 +00:00
dan
d77766edf7 Modify walcrash2.test so that it works with DEFAULT_AUTOVACUUM=1.
FossilOrigin-Name: 77438882dd53ac4d98b24e2846c87a2418b4e3d8
2010-05-25 13:49:09 +00:00
dan
ca6b5baba4 If a writer exits unexpectedly in the middle of a transaction, have the following writer remove any wal-index hash-table entries left by the interrupted transaction.
FossilOrigin-Name: ed77556adcdf7011b95b9969b360269fb2ebe4e5
2010-05-25 10:50:56 +00:00
drh
0b9441354b Remove the walmode.test case from the inmemory_journal test of
permutations.test.

FossilOrigin-Name: 27ba9c21fb591190b73010ced394cc62c1edff54
2010-05-24 20:24:38 +00:00
drh
c2857bf2a5 Fix the wal2.test script so that it works in auto_vacuum mode.
FossilOrigin-Name: 6a818afb93ca8383abb55e3835e14c74c3e3de23
2010-05-24 17:00:19 +00:00
dan
71d8991932 Change the checksum used in WAL files so that each frames checksum depends on the content of the WAL header and all frame headers and content up to and including the frame to which the checksum is attached.
FossilOrigin-Name: 8a53f12c83a107684b99f4a9de371b5ea3ca810a
2010-05-24 13:57:42 +00:00
dan
b8fd6c2fe6 Change the WAL file format to support two kinds of checksums - one that is fast to calculate on little-endian architectures and another that is fast on big-endian architectures. A flag in the wal-header indicates which the file uses.
FossilOrigin-Name: 65ba804dd1d31d1eef6ae3f40a3ade344a410b84
2010-05-24 10:39:36 +00:00
dan
8067adbc3f Correct an off-by-one bug in the previous commit.
FossilOrigin-Name: 75a1130d86faf18e73cb46cda5d029f1e913e4e6
2010-05-21 16:23:43 +00:00
dan
6f1501481f Remove entries from wal-index hash tables when a rollback or savepoint rollback occurs.
FossilOrigin-Name: 36795c2b23a78978528cace193e386138adacd41
2010-05-21 15:31:56 +00:00
drh
286a288493 Add a new xShmBarrier method to the VFS - a shared-memory fence operation.
Implement the same in both unix and win32.  Use it to make the WAL subsystem
more robust.

FossilOrigin-Name: 1bd011c9fed5ef29fb616b4d0a52df3b82221b1f
2010-05-20 23:51:06 +00:00
drh
7e263728f2 Make use of the extra information in the WAL header and frame header to
enhance robustness.

FossilOrigin-Name: 9580ecb7e3beb1949a71784a3dcd1823a88e4a9d
2010-05-20 21:21:09 +00:00
drh
23ea97b641 Convert the wal-header and frame-header to 24 bytes. Extra information in
both headers is designed to enhance robustness after crashes, though the
extra information is currently unused.  This is a snapshot of a work in
progress.

FossilOrigin-Name: 669706431f186f92fdc0856a6206419a1e843f46
2010-05-20 16:45:58 +00:00
drh
4c1cb6ab05 Fix a bug in the new checkpoint computation. Also update the checkpoint
algorithm in the test scripts to align with the new implementation.

FossilOrigin-Name: 8b6056f2ee596f31b157a792fac05d11f7cb63bb
2010-05-19 19:09:37 +00:00
drh
5c092e8a4f Make sure the value of an INTEGER PRIMARY KEY column supplied to triggers
and especially to FK constraints really contains the ROWID and not the
NULL that is stored in the column itself.  Ticket [dd08e5a988d00dec].

FossilOrigin-Name: 636f86095eb1f4bdcfb0c9ed846c4c6b3589c10b
2010-05-14 19:24:02 +00:00
drh
8af6c228f8 Simplify os_unix.c by removing support for LinuxThreads. Linux systems must
either use NPTL or else not share database connections across threads.

FossilOrigin-Name: e294b696ba91512b1ca5547774c51ea07b4cb5bc
2010-05-14 12:43:01 +00:00
dan
14740f1cd5 Add xShmXXX methods to test_osinst.c.
FossilOrigin-Name: b8a9b37a3c8d1005a16185c1fc4c414ca11d736a
2010-05-14 08:39:48 +00:00
dan
fbefb894cc Change the vfs instrumentation code in test_osinst.c to make it easier to deploy. Add a vtab implementation for reading the binary log file format.
FossilOrigin-Name: ee13c8849d234931bb3be36e42383d228b3cbfcb
2010-05-12 19:02:35 +00:00
drh
eaf52d883a Remove the OP_Variable optimization of check-in [48b77b04935d894] since it
can lead to malfunctions as described in ticket [26ff0c82d1e90].

FossilOrigin-Name: 7838163d087780a6fb403a17641b96f71baec088
2010-05-12 13:50:23 +00:00
dan
ed36020daf Remove a branch made redundant by the earlier exclusive-mode changes.
FossilOrigin-Name: c501b2ede6aad123bef0aa7ce8b356a134eb6d26
2010-05-12 06:54:31 +00:00
dan
5543759b1b Changes so that WAL and exclusive-locking mode work together.
FossilOrigin-Name: 71e7b1cf9f4cd02a2a9bc8a3e58acd7a7e3c7e60
2010-05-11 12:19:26 +00:00
shaneh
a10069dd22 Updates for to WAL TCL test scripts to support running on Windows.
FossilOrigin-Name: 6a5630806c87b0f4e5632c37c357f98effd9608a
2010-05-11 02:46:16 +00:00
dan
c6315a44b2 Fix a recently introduced problem in wal.test.
FossilOrigin-Name: 79b52d0ff7a7b717bde55b97ff05ad17418bc7d7
2010-05-07 13:52:42 +00:00
dan
65bddc1223 Change wal.test and walhook.test so that they work with DEFAULT_AUTOVACUUM=1 builds.
FossilOrigin-Name: 4cde92909c20982f7d4e6b550f55d786df398ccd
2010-05-07 12:49:22 +00:00
dan
65f2ac58b6 Test another IO error case in wal.c.
FossilOrigin-Name: 8b3b5ab8fa61ca4ef22c98abaab397707ee74ea3
2010-05-07 09:43:50 +00:00
dan
998ad21271 Fix a problem with checkpointing large log files created by an external process.
FossilOrigin-Name: 8f94bde568be52ecc5a976b7a09776ea7b4bb511
2010-05-07 06:59:08 +00:00
drh
2c47d194a2 Another attempt to fix permutations.test so that it excludes WAL tests
from the journaltest permutation.

FossilOrigin-Name: 58c404429c5af167a82899fc4c736ed7489ed746
2010-05-07 00:28:41 +00:00
drh
6763e3550d Remove savepoint6.test from the set of tests run by journaltest since
savepoint6.test uses journal_mode=WAL.

FossilOrigin-Name: 811b45a96bfaa0ef2394b86c06e8f099a07ee9f0
2010-05-06 22:21:14 +00:00
drh
fb4a626da0 Exclude all WAL tests from the journaltest permutation.
FossilOrigin-Name: 46c97d7eee9359cd21139a6520633f5d16594ab0
2010-05-06 19:55:57 +00:00
dan
65be0d8cce Instead of transitioning to RECOVER state from CHECKPOINT when a recovery is required, perform the recovery while holding the CHECKPOINT lock.
FossilOrigin-Name: bb0b6021e721c2e4f1533ab18381604c6b7b31d5
2010-05-06 18:48:27 +00:00
dan
5273f58f37 If recovery is run before a checkpoint, change back to a CHECKPOINT lock before performing the actual checkpoint.
FossilOrigin-Name: dc98ee169cfa43c89f1b36fb1150d4788710fda3
2010-05-06 18:27:19 +00:00
dan
576bc3294d Only pass -1 as the size parameter to xShmGet when the caller does not care what size mapping is returned. Only call xShmSize when the underlying allocation (not the mapping) should be resized.
FossilOrigin-Name: 637f51ddf9e4a57e1f171b6d2c6c93152074267e
2010-05-06 18:04:50 +00:00
dan
b7d53f54ae Fix a bug whereby an old snapshot could be checkpointed (and subsequent transactions discarded) if the last connection to disconnect from a WAL database happended to be holding an out-of-date wal-index header.
FossilOrigin-Name: d0c0034b0baa83046c1d6b94c886f7039e4e06f5
2010-05-06 17:28:08 +00:00
dan
d41a29a653 Further coverage tests.
FossilOrigin-Name: 98a9713e0030a36ea99a18a12a2e7685c6db72b3
2010-05-06 15:56:28 +00:00
dan
a861469a07 Add tests to cover a couple of branches in wal.c.
FossilOrigin-Name: 429f437fb776fc974a6adf791b729e25bea82fef
2010-05-06 14:42:34 +00:00
dan
c9e4665e7d Unset a tcl variable before reusing it in wal.test.
FossilOrigin-Name: e83efb232fe8d30714f4c7cffeef80092aea4df7
2010-05-06 13:36:47 +00:00
dan
ff6dfc73fe Add tests for some lock-contention cases.
FossilOrigin-Name: f0fcb9c9a67e2bf7bbedbedbc27791b605a21dd1
2010-05-06 12:15:48 +00:00