dan
9859c427a2
Ensure the correct error code is returned if an attempt to parse a database schema made by an ATTACH statement fails.
...
FossilOrigin-Name: c272196115ab3926e56b6f4183ec127e3f98ef9c
2010-07-06 07:36:18 +00:00
drh
722a7e9ab3
Modify the VFS xAccess() method on winNT so that it returns false for
...
an exists test of a zero-length file. This makes the windows VFS work
the same as the unix VFS.
FossilOrigin-Name: ec35f25403744f7441ac5ae1486b84d8ebc13e98
2010-07-05 21:00:43 +00:00
dan
db10f08282
Simplify the previous commit by removing the pagerCheckForOrDeleteWAL() wrapper.
...
FossilOrigin-Name: a1324d125e2dd7004eaf8680f5f832ef17285087
2010-07-05 19:13:26 +00:00
dan
3e875ef3b5
Allocate a buffer containing the full path-name to the associated WAL file when a pager is created. This saves having to construct a new buffer each time a new read-transaction is opened and SQLite checks for the existance of a WAL file.
...
FossilOrigin-Name: 3053a4ad15343a56efa430503797b77bb6d1e770
2010-07-05 19:03:35 +00:00
drh
8220da7b8b
When rolling back page 1 from a journal, restore the "nReserve" setting
...
in case it has been corrupted by a prior crash.
FossilOrigin-Name: c0d124da88e84e68679c2f3f4b2b35c03aecc916
2010-07-05 17:43:32 +00:00
dan
92d516a221
Do not report an error if the open-file-count is not as it should be after running a multi-threaded test. The counter instrumentation is not thread-safe.
...
FossilOrigin-Name: ea80b21c881fabaec1da788588c35c6c9782dcbd
2010-07-05 14:54:48 +00:00
dan
3374f8aee4
Call Tcl_ExitThread() from within threads created using Tcl_CreateThread(). Not doing so causes notifier related errors on OSX.
...
FossilOrigin-Name: 684eae6623ef1d0336b7a734b17ed307c720b6f4
2010-07-05 12:54:08 +00:00
dan
6310990d54
Add any files specified as part of the QUICKTEST_INCLUDE environment variable to the set of test files run as part of "make test". Release testing uses this trick.
...
FossilOrigin-Name: a40a6e7df191ca10bc3aa504d374b9f5bfa33cbc
2010-07-05 05:54:55 +00:00
dan
eace527b8c
Fix typos in permutations.test.
...
FossilOrigin-Name: b6600ecb4ee8e4d0fe5e8399450ef25b15071a91
2010-07-05 05:31:48 +00:00
dan
d53850e579
Do not run the memsubsys1.test script under the memsubsys1 permutation.
...
FossilOrigin-Name: 3a1a8c77a5c7b57755f18d84234faed1f16c2103
2010-07-03 19:08:19 +00:00
drh
2667be5e3f
Remove the unused xRename() method from the sqlite3_vfs object.
...
Add better documentation on the xCurrentTimeInt64() method.
FossilOrigin-Name: 51ec0e5432dd6849b83a3d969a018482eb3bb083
2010-07-03 17:13:31 +00:00
dan
b3f4351f00
Further changes to test scripts so that the "inmemory_journal" permutation works.
...
FossilOrigin-Name: 50f2f7dfd64f610982525fd7a0dd7c1ade67bebb
2010-07-03 16:37:45 +00:00
dan
d506de0208
Fix a bug in the permutations.test script.
...
FossilOrigin-Name: 3b20ad03be55613d922d81aec5313327bf4098b9
2010-07-03 13:59:01 +00:00
dan
c844a0368a
Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation.
...
FossilOrigin-Name: 622378dbe3941f06c717c1e272cd1190e4358428
2010-07-03 13:50:11 +00:00
dan
3f94b60961
Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation.
...
FossilOrigin-Name: 78fc35ff4b01d4a583009ec8b8bf876738ca7b92
2010-07-03 13:45:52 +00:00
drh
b0ab011dc5
Cherry-pick the correct changes out of the recent "mistake" branch while
...
omitting the bogus changes.
FossilOrigin-Name: 48bf309391c32e7860c293acd13f3dda14212d39
2010-07-03 12:31:34 +00:00
drh
40e459e041
Remove code accidently appended to pager.c.
...
FossilOrigin-Name: 7cbe175a69738499f9218ec56f1a39f040aea9dc
2010-07-03 12:26:33 +00:00
drh
bb810a9a7b
Print the SQLite source_id() string when running speed tests.
...
FossilOrigin-Name: 6d7640edcd69a932556f86500aedbf14e75ba7de
2010-07-03 12:00:53 +00:00
dan
f43d7fce61
Fix an assert() in pager.c added by the previous commit. And various problems with test scripts in autovacuum and in-memory journal mode.
...
FossilOrigin-Name: 62a10101776b41236ff7bd08c8aa85765a43df7c
2010-07-03 10:00:00 +00:00
dan
fce218c5ad
Do not attempt to open a WAL file for an in-memory or temporary database. Even if the database header suggests that it is a WAL database.
...
FossilOrigin-Name: 0fd809243652256d83ddcb58cf4890080654c667
2010-07-03 08:01:24 +00:00
dan
2411dea3ca
Change code in OP_Rewind to avoid a valgrind warning following an error in the btree layer. This change does not fix any bug, just a warning.
...
FossilOrigin-Name: 4f62dbcfc96855f69e71d163bfc051d9db08cca9
2010-07-03 05:56:09 +00:00
drh
0eb77d0568
Fix a buffer overrun in the where.c. Problem detected by valgrind.
...
FossilOrigin-Name: 15bb62330681a5b2aad95a1d1fc9ab8f6f1bd6b9
2010-07-03 01:44:27 +00:00
shaneh
fd28639f12
Changes to os_win.c to have it return same error code as os_unix.c.
...
FossilOrigin-Name: 33b6f069d8059903312282962181839ff983e5c4
2010-07-02 19:49:38 +00:00
drh
cac29a67e9
Omit the OP_JournalMode opcode from the VDBE when SQLITE_OMIT_PRAGMA is
...
defined.
FossilOrigin-Name: 565ff65c61c85c9b2122b31bd9792692aa1e9cda
2010-07-02 19:36:52 +00:00
dan
5257af7dba
Fix a bug in test_vfs.c causing an assert to fail. Changes to test code only.
...
FossilOrigin-Name: 336ce7d29767f76c4a92aa4bbc46d21e19871667
2010-07-02 19:04:59 +00:00
dan
84b9618231
Do not run the tests in notify3.test unless the unlock-notify API is available.
...
FossilOrigin-Name: 0d7fd6fe9deeddbec8dff1393beed126ae44c0ee
2010-07-02 18:58:01 +00:00
drh
a0b75da197
Take out the incomplete initializer on the constant "dummy" in
...
sqlite3VdbeGetOp(). Add a comment that the MSVC warning there should
be ignored.
FossilOrigin-Name: 452ccaa9080e42657b5f0908bf40dbd834cd39f6
2010-07-02 18:44:37 +00:00
shaneh
8a300f8095
Fix a couple more compiler warnings under MSVC.
...
FossilOrigin-Name: 26bc27e3f4c8a666f3358f73fc21eccdec3508f6
2010-07-02 18:15:31 +00:00
drh
0ab216a6b4
Fix compiler warnings in the proxy locking code.
...
FossilOrigin-Name: 26c7689cfedf03e65bcd51df68d128101ed2c1ec
2010-07-02 17:10:40 +00:00
drh
56c77ef853
Remove a couple of C++ style comments from pager.c.
...
FossilOrigin-Name: 4f12e8ebdea0451cb32188a4bb812ca702c63275
2010-07-02 17:07:42 +00:00
shaneh
5eba1f60fe
Fix some warnings when compiling under MSVC.
...
FossilOrigin-Name: 708338773919fa024abbba55180654beb60e6d84
2010-07-02 17:05:03 +00:00
dan
230fd98dd3
Add initializers for the xShmXXX() members to an sqlite3_io_methods structure in journal.c. This doesn't fix any real problem, just prevents a compiler warning.
...
FossilOrigin-Name: dafb3577a2d5fbeebb17c8176af837f0aebf6ee5
2010-07-02 16:36:18 +00:00
drh
5fc4c689c3
Remove an unused call to sqlite3PageBegin() from pager_write(). Replace it
...
with an assert().
FossilOrigin-Name: 01c1278263fdd8454763be15bddd2558e720e6e0
2010-07-02 15:35:58 +00:00
dan
f412ee2ea4
Run tkt-9d68c883.test along with the other pager.c coverage tests. Add a test case to pager1.test.
...
FossilOrigin-Name: c6714b0dbdc782e721662ec166d9f161bc05c6df
2010-07-02 13:49:09 +00:00
dan
c396d4af58
Additional test cases to cover branches in pager.c.
...
FossilOrigin-Name: eddfb2b4062f8a8b907f0c7bc08a05c16692e900
2010-07-02 11:27:43 +00:00
drh
b2961b00f3
Add a NEVER to sqlite3PagerCommitPhaseTwo() because it is now no longer
...
possible to invoke that function without holding a RESERVED lock.
FossilOrigin-Name: 6ae7617298c70f8e03dd0ed73b8153d4871fb023
2010-07-02 01:18:12 +00:00
drh
32f2964390
If you delete a database file but not its *-wal file, then open the database
...
(thus creating a new empty database file) the *-wal file is automatically
deleted.
FossilOrigin-Name: 95c69dfbddaf4367cd699dfe8fcf8e06030c1f53
2010-07-01 19:45:34 +00:00
dan
d0b0d4dc23
Add tests to pager1.test and pagerfault.test.
...
FossilOrigin-Name: c6e75950928954fbb1590f952e3cdbcb0753b745
2010-07-01 19:01:56 +00:00
dan
89ccf4481b
Add pager test cases. Change a condition in pager.c to NEVER().
...
FossilOrigin-Name: a8f6341d3b12d64ef56ed05226e3b4f183b8957d
2010-07-01 15:09:47 +00:00
dan
6b63ab47d7
Add further test cases. Fix an assert() in pager.c.
...
FossilOrigin-Name: 8e65c0e3dac400f6a0ec3b7494fba62c14ed6182
2010-06-30 10:36:18 +00:00
dan
3ad5fd2502
Do not call pager_open_journal() from within PagerBegin() if the connection is in exclusive-access mode. It will be called from within PagerWrite() just as it is for non-exclusive mode anyway.
...
FossilOrigin-Name: cdf2c5c2dd2e4404ffb85a680d31307afea266eb
2010-06-30 04:36:03 +00:00
dan
ba3cbf3d4b
Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning.
...
FossilOrigin-Name: 5e19bc360e098ec06a72f4a86254d8e62e93ea57
2010-06-30 04:29:03 +00:00
dan
c8ce39723d
Add tests to pager1.test and pagerfault.test.
...
FossilOrigin-Name: 008513ee6115f8d6f4b4e1428c1c638282b971a3
2010-06-29 10:30:23 +00:00
dan
d353331aba
Add extra pager tests.
...
FossilOrigin-Name: 6b7e419ddc241f457dd69878f09f5c51c70aa379
2010-06-28 19:04:02 +00:00
dan
38e1a279c9
Fix some errors when compiling with SQLITE_OMIT_WAL.
...
FossilOrigin-Name: 3b68cb9c656db8c5c481199919a98f5764f7ebfa
2010-06-28 11:23:09 +00:00
dan
9c788140f7
Remove debugging code from test script.
...
FossilOrigin-Name: a85ae33246226801f88c1e377725c192711797cc
2010-06-28 11:06:53 +00:00
dan
1db95106ee
Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.).
...
FossilOrigin-Name: 4932f22848b3d15a2b6dc5fa2cd69ce19182e2a4
2010-06-28 10:15:19 +00:00
drh
7750ab48f5
Make walIndexTryHdr() a private function. Fix an issue with SQLITE_MUTEX_NOOP.
...
FossilOrigin-Name: ec65bbd06bdd3bf16a742c5bb1fab0dce756c01a
2010-06-26 22:16:02 +00:00
drh
ff82894faa
Suppress various compiler warnings.
...
FossilOrigin-Name: e82d008eaffb5522080cad6c69c1b194b78eadbd
2010-06-26 21:34:06 +00:00
drh
37f9918758
Fix two asserts on the scratch allocator to allow for up to two outstanding
...
scratch allocations per thread.
FossilOrigin-Name: f149b498b6ada3fc9f71ee104c351554c80c7f8a
2010-06-26 20:25:30 +00:00
drh
7d113eb0ab
Suppress a couple uninitialized variable warnings.
...
FossilOrigin-Name: 29571e228cc85f7768c3ad57d0c7af96b5a54983
2010-06-26 20:00:54 +00:00
dan
4013130485
Add test file tkt-d11f09d36e.test.
...
FossilOrigin-Name: 6e469b63fab3cd63b23110aaceccfed0587c6a87
2010-06-26 19:03:30 +00:00
drh
afb15027e8
Remove a NEVER() in pager that can in fact be reached in obscure failure
...
cases.
FossilOrigin-Name: 42b8bd1c70d8dbbc4a59e2fdee8654c4fe84f979
2010-06-26 19:02:33 +00:00
dan
6ce60746c1
Fix a case where the doNotSyncSpill flag may remain permanently set following aIO error.
...
FossilOrigin-Name: 56c7d111bf7013be95a4c2a657a4861eee91db91
2010-06-26 17:15:07 +00:00
dan
273f3f0d1a
When synchronous=NORMAL, use the same journal file format as with synchronous=FULL (i.e. multiple journal headers within the one journal). Fix for [d11f09d36e].
...
FossilOrigin-Name: 2eaf5ee0d9338de8a77fb3e06ad2f2b0daa6fcbe
2010-06-26 15:42:33 +00:00
dan
f9b4419d39
Further test cases for pager1.test and pagerfault.test.
...
FossilOrigin-Name: bfd563c4714d86805fa09ce9f4f807e5d502a99b
2010-06-25 19:09:48 +00:00
dan
52d6fc0eda
Reduce the average (but not maximum) size of the allocations made as part of a checkpoint.
...
FossilOrigin-Name: 4a7fd91b7ab2c5d21fbac7f6f123820c8f4ec7f6
2010-06-25 16:34:32 +00:00
dan
bdf1e2437e
Reduce the size of the large allocation (approx 8KB for every 4000 frames in the log) that occurs during checkpoint. Use the 'scratch' memory for this allocation instead of the general purpose allocation.
...
FossilOrigin-Name: 29887487ed549f97c3c9b37f852bae179b6ea9a9
2010-06-25 15:16:25 +00:00
drh
4a466d3ef3
Fix up a branch in sqlite3ValueFromExpr() so that we can achieve full
...
branch test coverage regardless of whether or not SQLITE_ENABLE_STAT2 is
used.
FossilOrigin-Name: af471ed79f539ff495f6d4cb3b69188c8af7ae3d
2010-06-25 14:17:58 +00:00
drh
d36f660d5b
Change the name of the shared-memory file on windows from *-wal-index to
...
*-shm, for consistency with unix.
FossilOrigin-Name: 5995cb15080cfb707ddda501f975673f658106f7
2010-06-25 12:52:47 +00:00
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
dan
ec6ffc1a6a
Add test cases to pager1.test and pagerfault.test.
...
FossilOrigin-Name: 4941e437d2638f36ac8510d4a5b4c780afc798bb
2010-06-24 19:16:06 +00:00
drh
314f30db22
Revert to allowing a cache spill during writes of multiple pages within a
...
single sector as long as the spill does not require a journal sync and a
new journal header.
FossilOrigin-Name: 7d83fbae9802a56b2121d0775de54fccd743d971
2010-06-24 18:36:33 +00:00
dan
cfa800cb36
Modify ctime.test to work with SQLITE_THREADSAFE=2.
...
FossilOrigin-Name: c6db3b303182202a8b03512e448607bce71de914
2010-06-24 17:37:57 +00:00
drh
7cf4c7adf0
Disable memory-pressure induced cache spill during savepoint rollback.
...
FossilOrigin-Name: a55eb4c3e9fa4ea43b8f8182eb9e39138df03f52
2010-06-24 14:52:25 +00:00
dan
0a6052ec51
Add a coverage test to pagerfault.test.
...
FossilOrigin-Name: b58db67e972b5660e62a9b7daa2c1e87c3cf0a68
2010-06-24 13:24:26 +00:00
dan
dca321aed4
Add coverage tests. Remove a NEVER macro from pager.c, as the condition can now be true in wal mode.
...
FossilOrigin-Name: 7aac9ad6dd14b1c56eb8e4750ac769c6197c30bd
2010-06-24 10:50:17 +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
346e426753
Add test case for SQLITE_FULL errors to pagerfault.test. Remove a NEVER macro in pager.c that this hits.
...
FossilOrigin-Name: 3e9680c4c18140d083b24e05a21ea6792aef2487
2010-06-23 19:27:36 +00:00
drh
75e876be30
Include the SOURCE_ID value in the log messages output for corruption, misuse,
...
and CANTOPEN errors.
FossilOrigin-Name: 1727a81fed65bebfea43e0bda271584096d82785
2010-06-23 17:59:51 +00:00
drh
bd9676c19e
Adjust the shared-memory locking range to account for the new version number
...
values in the wal-index header.
FossilOrigin-Name: a6dc0df304876b51cef5402b0e21330f10aabccf
2010-06-23 17:58:38 +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
b316cb22de
Fix the xCurrentTimeInt64 interface on windows. It was off by a factor of 10.
...
FossilOrigin-Name: 51ef43b9f7db8fabf73d9c8a76dae6c275e50d58
2010-06-23 15:18:11 +00:00
drh
a64febe1d2
Simplifications to the pager_delmaster() implementation.
...
FossilOrigin-Name: 8bfbdec647d29f0eb103ba7deb9116c44193f2e1
2010-06-23 15:04:27 +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
242c4f7702
When trying to transition from journal_mode MEMORY to WAL, use OFF as an
...
intermediate journal mode.
FossilOrigin-Name: 4775b8f9a9d9b66fcd5abf3af111fcad249e662e
2010-06-22 14:49:39 +00:00
dan
68928b6c3e
Some changes to test scripts related to codec enabled versions of sqlite.
...
FossilOrigin-Name: 85dd51a75c75b2a123744f646e04538e4e5d89b3
2010-06-22 13:46:43 +00:00
dan
3c3dd7b927
i
...
Fix problem with handling of -vfs option in tcl interface.
FossilOrigin-Name: 8f98e8b5a557db5759747f3aae5ea01fb0d1f455
2010-06-22 11:10:40 +00:00
drh
39cf51097f
Minor tweaks to get the pager working for corner cases when the
...
SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag is set.
FossilOrigin-Name: 82b38fca1aea345ade954517661145f1859e701c
2010-06-21 21:45:37 +00:00
drh
de3c301d63
Fix comment inside the pager_unlock() routine. Always close the master
...
journal file before trying to delete it.
FossilOrigin-Name: f820b815c9bff368eb1ccb850966a812151e610e
2010-06-21 20:19:25 +00:00
dan
0e986f51a4
Add test cases to pager1.test and pager2.test.
...
FossilOrigin-Name: cc9ddae6d72b214f52b8949e644b91f4ab340a28
2010-06-21 18:29:40 +00:00
drh
24f0f7716a
Merge the experimental UNDELETABLE_WHEN_OPEN optimization into the trunk.
...
FossilOrigin-Name: ee0acef1faffd480fd2136f81fb2b6f6a17b5388
2010-06-21 12:47:41 +00:00
dan
e08341c664
Change things so that journal2.test works with ENABLE_ATOMIC_WRITE.
...
FossilOrigin-Name: a64d96db09ef2b7651fa4e98d3c7bf3ae5d3fe96
2010-06-21 12:34:29 +00:00
dan
153eda0aa4
Add further pager tests.
...
FossilOrigin-Name: 4104b175a8c3560a7680f3d2b54416821bb2e19d
2010-06-21 07:45:47 +00:00
dan
248af428ea
Merge latest trunk change.
...
FossilOrigin-Name: f6d26e07b70965e332b1589804ca938593a5f432
2010-06-21 06:00:15 +00:00
dan
672b41beaa
Fix jrnlmode2.test so that it works on systems where UNDELETABLE_WHEN_OPEN is defined.
...
FossilOrigin-Name: 59be370e52ec814c45efa6cbac45b6df94661b54
2010-06-21 05:40:49 +00:00
drh
19515c8da1
Fix an uninitialized variable in os_unix.c.
...
FossilOrigin-Name: 822a0283c6bc1c75001f3d1c528a4ff89c6b039c
2010-06-19 23:53:11 +00:00
dan
c548b78310
Fix an assert() failure that could occur if compiling with OMIT_SHARED_CACHE.
...
FossilOrigin-Name: 3e76a9f2c041a6d36614f540bb89588703d85925
2010-06-19 19:06:33 +00:00
dan
8ce49d6ac0
Change the name of IOCAP_SAFE_DELETE to IOCAP_UNDELETABLE_WHEN_OPEN. Have the xDeviceCharacteristics() method of the win32 VFS return this flag.
...
FossilOrigin-Name: 5a5ff4e3e4c707464f227907d0aefb8ef42180dd
2010-06-19 18:12:02 +00:00
dan
146ed78b78
Add tests to pager1.test and pagerfault.test.
...
FossilOrigin-Name: f5df83fd875073eee8e2269e87e2a8c9c7abc981
2010-06-19 17:26:37 +00:00
drh
7234c6d6f6
Change the unix VFS to always allocate shared-memory using a file in the
...
same directory as the database. Otherwise, a chroot might cause different
processes to use different shared memory files resulting in database
corruption.
FossilOrigin-Name: 2241788bc85fbc48e9cfecb95fe0a858338e37cb
2010-06-19 15:10:09 +00:00
dan
de4996e2ee
Add tests to pager1.test and pagerfault.test.
...
FossilOrigin-Name: 58c0b5bfed8c67cc3f2f4a6784d08c14e652c265
2010-06-19 11:30:41 +00:00
dan
1f4cb65a9e
Add tests to pager1.test.
...
FossilOrigin-Name: 582fca89195af54e9668af249691654cfea63d04
2010-06-18 18:59:49 +00:00
dan
d956efebea
Rearrange some code in OP_JournalMode to avoid incorrect returns from subsequent invocations of "PRAGMA journal_mode" following an IO error.
...
FossilOrigin-Name: ce0a4a9b5f981d066822a9ae63740c91b35bfc60
2010-06-18 16:13:45 +00:00
dan
83acd423a1
Change the implementation of the unix implementation of xAccess() so that it returns 0 (does not exist) to an SQLITE_ACCESS_EXISTS query on a file that exists but is zero bytes in size.
...
FossilOrigin-Name: 077b0e5bcd849130c8df373fc2134c4b44351882
2010-06-18 11:10:06 +00:00
dan
be5c10477c
Apply [b9b11855e8] (the alternate fix to [fc62af4523]) to the trunk.
...
FossilOrigin-Name: 9a949a3a5c32b8bfbb94e10e18d050ec80a25553
2010-06-17 17:05:53 +00:00
dan
cd27cffa97
Merge trunk change [7c3a86b9c7].
...
FossilOrigin-Name: bd7bc4e0e28bc749034ff1a9290a69330c5d8ca4
2010-06-17 16:44:52 +00:00
dan
731bf5bcf8
A different fix to [fc62af4523]. When changing from journal_mode=PERSIST or TRINCATE to some other rollback mode, delete the journal file only if a RESERVED lock can be obtained on the database file first.
...
FossilOrigin-Name: b9b11855e8a9522309dd30e5256bb67d67e1353a
2010-06-17 16:44:21 +00:00
drh
0cf68fa4c6
Fix the tkt-fc62af4523.test to work around non-randomness of the
...
randomblob() function when in testing mode.
FossilOrigin-Name: 7c3a86b9c7e2a35ce755c32b38e911e79d843fad
2010-06-17 16:08:53 +00:00
dan
b70f82a7a5
Fix bug in journal2.test.
...
FossilOrigin-Name: c1e04f1d4e8575ebc41b5b4403dbfe3f60d578dc
2010-06-17 11:36:28 +00:00
dan
24827d0c0f
Merge trunk updates with experimental branch.
...
FossilOrigin-Name: 9f6ea1de5abab0ca28688e257ddf03c66413cf6e
2010-06-17 10:52:07 +00:00
dan
7c6d618615
Do not delete the journal file in "PRAGMA journal_mode" commands. This fixes [fc62af4523].
...
FossilOrigin-Name: 1ec74591a93e8b27ad3ac739914a48a91972e82c
2010-06-17 10:42:06 +00:00
dan
cb0a7a7267
Add test case for [fc62af4523].
...
FossilOrigin-Name: cccd32c692057beb08a994102c6a10126ddeb937
2010-06-17 10:24:27 +00:00
dan
c002518074
Merge fix [f80c3f922a] with experimental changes.
...
FossilOrigin-Name: 20133e9ca98f5e6c42051ed3d65e4eb71d5366a5
2010-06-17 06:19:53 +00:00
drh
b28e59bbbb
Bug fix: Only trust the database size number at offset 28 if the change
...
counter at offset 24 matches the version number counter at offset 92.
This prevents corruption in the case of two applications writing to the
database where one is an older version of SQLite and the other is a newer
version.
FossilOrigin-Name: f80c3f922a114e738613955a939db46cf0847038
2010-06-17 02:13:39 +00:00
dan
2a321c7547
Experimental change: On systems where it is not possible to unlink a file while one or more processes has it open (i.e. not unix), avoid closing the journal file each time the database is unlocked and reopening it at the start of each transaction.
...
FossilOrigin-Name: bede8c8a148fb9be5ffbf38df7fa733e35cc68c3
2010-06-16 19:04:23 +00:00
dan
53f04f3b3f
Add extra test cases to pager1.test.
...
FossilOrigin-Name: ad3209572d0e6afe5c8b52313e334509661045e2
2010-06-16 12:30:10 +00:00
dan
b0ac3e3a17
Fix a memory leak that can occur in os_unix.c if an IO error occurs within the xUnlock method.
...
FossilOrigin-Name: 6c5c04eea1f0e8d61883ee8675c249fbf895dc01
2010-06-16 10:55:42 +00:00
dan
a4a9095ec0
Rationalize a common pattern in tcl test cases into proc do_multiclient_test.
...
FossilOrigin-Name: efe44564983f115017658dd8a130226366d42bab
2010-06-15 19:07:42 +00:00
dan
2fce9ab3f8
Fix a problem introduced into lock2.test by the previous commit.
...
FossilOrigin-Name: c1c9f6fa9d75df740e577dbc5e6a24b91ad2bdd0
2010-06-15 18:00:06 +00:00
dan
e91a54e1be
Add test file pager1.test, containing tests of inter-process locking in non-wal mode.
...
FossilOrigin-Name: 6e43eed9310bae9ca5e91f8fd9eafc45a16b7019
2010-06-15 17:44:47 +00:00
dan
3a3803b61a
Run extra iterations in wal3.test to ensure test coverage.
...
FossilOrigin-Name: ea80cbe51e33d6a3f15a4ad56f360fc5323866de
2010-06-15 14:21:17 +00:00
dan
422309c447
Merge in [2c5e48a485].
...
Merge in [2c5e48a485].
Merge in [2c5e48a485].
FossilOrigin-Name: 03c0f4fd9cbb655477b63ebbb6af7822715644aa
2010-06-15 14:06:06 +00:00
drh
cc3af5156e
Minor tweaks to the interface documentation - adding hyperlinks.
...
FossilOrigin-Name: 07b2fdd1cebbdbde5098a662eea65a0c9e8b5442
2010-06-15 12:09:06 +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
0626dfc3dc
Changes to the way tcl test scripts work. No changes to production code.
...
FossilOrigin-Name: 2c5e48a4855e2ec4572697c8fcfe4433e302ef33
2010-06-15 06:56:37 +00:00
drh
f886b4f851
Fix an error in the walfault.test script introduced by the previous check-in.
...
FossilOrigin-Name: a2b9374fc6f0aba2d465d432e1124bd957aab548
2010-06-14 18:06:20 +00:00
drh
6b017cc6d4
Move the xShmMap method to in between xShmLock and xShmBarrier, since it seems
...
to fit in there logically.
FossilOrigin-Name: 58dfd83d8b7905391e2a06bb918ffa209c6de6b5
2010-06-14 18:01:46 +00:00
drh
6f72beb20c
Merge the experimental shared-memory mmap-by-chunk changes into the trunk.
...
FossilOrigin-Name: f295e7ed5f04f6b8bffdaff8b565be3836ce4e80
2010-06-14 17:09:53 +00:00
dan
9785fc9510
Add the new xShmMap (formerly xShmPage) to os_win.c.
...
FossilOrigin-Name: 13e7a8242206bca4b5bf356ef074e66474d39609
2010-06-14 16:16:33 +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
drh
0b9b4301b8
Refactor and simplify the logic used to change journalmode.
...
FossilOrigin-Name: 95cc3f6fdec5494560c3cd4439d06870d1c62506
2010-06-11 17:01:24 +00:00
drh
5130c31b0c
Adding original art for the new SQLite logo.
...
FossilOrigin-Name: af353bd89e5ec89f113d217225cc59cbc8373d64
2010-06-10 16:25:55 +00:00
drh
23e35723a7
Add the SQLITE_TESTCTRL_PGHDRSZ verb for sqlite3_test_control() used to get
...
the size of pcache headers for testing purposes.
FossilOrigin-Name: 5d694f04fecf47ca325e108d463c24f42def55d5
2010-06-10 14:07:40 +00:00
drh
007d6c3a36
Update the test VFS in test_journal.c so that it implements the
...
xCurrentTimeInt64 method.
FossilOrigin-Name: ec3b4a7e5d3d7bd737d356b8a09ce94f8f0f8ce0
2010-06-10 10:51:27 +00:00
dan
026e598d0f
Store the MemPage structure in memory following, instead of preceding, the page data for cached pages. This reduces the likelihood of a corrupt database page image causing SQLite to read past the end of a buffer.
...
FossilOrigin-Name: 0ce42e76654d9ba52dac74c940d38b17866016ba
2010-06-10 06:53:26 +00:00
drh
0350c7fa26
Remove a condition that must always be true. Replace it with an assert().
...
FossilOrigin-Name: 7abcd54ec09e8025193d1e0ea57775051d823801
2010-06-10 01:07:42 +00:00
dan
3ccd20a7a9
Fix test script problems causing errors in the "inmemory_journal" permutations.
...
FossilOrigin-Name: ea05b7f929e4696175dbc3ded36dba8ed2a6b575
2010-06-09 19:01:02 +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
dan
6ac4339439
Fix for ticket [f973c7ac31].
...
FossilOrigin-Name: 6eb058dda8d5f87b02378d8efd821fe64a525dcc
2010-06-09 15:47:11 +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
e4bddc1fab
Close database opened by tester.tcl when it is sourced in all.test. Because test scripts are now run in slave interpreters, this connection was not being closed by the first script run as it was previously.
...
FossilOrigin-Name: b072e9f69ad5ec68b8ec4c716556070001f885e0
2010-06-08 15:50:53 +00:00
dan
c60f10a27f
Changes to wal3.test to support small default cache size settings. And builds that create autovacuum databases by default.
...
FossilOrigin-Name: ac4cc2574bafce30390a34f13228380d017791cb
2010-06-08 15:16:10 +00:00
dan
7df6c2c04b
In os_unix.c, call munmap() to unmap a shared-memory region prior to closing the associated file descriptor.
...
FossilOrigin-Name: 95cc976f1520bdaedd8f93b0e9fbef94e4e2c8cc
2010-06-07 19:26:54 +00:00
dan
430e74cd9b
Change all.test, quick.test and permutations.test so that they use a separate interpreter for each test file.
...
FossilOrigin-Name: 7c33eb5a5add8fe76dd412ecab5b6ff8cd78a98d
2010-06-07 17:47:26 +00:00
dan
c1a60c51dc
Refactor some of the global variables and commands used by tester.tcl.
...
FossilOrigin-Name: c2edf8e17f874d0ca4e94b75575bf6e14eea1f05
2010-06-07 14:28:16 +00:00
dan
23f719207f
Add a couple of extra coverage tests for wal.c.
...
FossilOrigin-Name: cfe60254df50f086014b115f1a2d9e31c85d67fd
2010-06-07 06:11:39 +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
ef4ee8f274
Add extra coverage test cases for wal.c. No changes to production code.
...
FossilOrigin-Name: f9d4ae0e8cc5d32c52eb78799f7959dd236ea9de
2010-06-05 11:53:34 +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
0dc7b74fbe
Add an English language error message to corresponding to SQLITE_PROTOCOL. "locking protocol".
...
FossilOrigin-Name: ca327e32cfe1633f2c9d3f058e411f108aaa2b3c
2010-06-04 15:59:58 +00:00
dan
23dced35ea
Add test for the code that detects an inconsistent pair of wal-index headers to wal2.test.
...
FossilOrigin-Name: 157feba10f7ac01eecf79715c44bb16c98958280
2010-06-04 12:22:35 +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
dan
d03f523d3b
Fix another problem in test_vfs.c.
...
FossilOrigin-Name: df7d59899ceb2743764b0433cb68f4bc33f16344
2010-06-03 19:10:08 +00:00
dan
961ff45104
Have test_vfs.c simulate IO errors in xShmLock.
...
FossilOrigin-Name: fcbf7cf189506e43fc2f0820aedffb195038d3a9
2010-06-03 18:20:19 +00:00
drh
05cb5b244b
Performance fix for winShmClose().
...
FossilOrigin-Name: ed7774de04978803e979580240148eba1de9166d
2010-06-03 18:02:48 +00:00
dan
db9d981a8d
Add extra tests for removing elements from wal-index hash tables as part of a rollback.
...
FossilOrigin-Name: af3e598ad9315a4642dd8fa098dfdbd727770aed
2010-06-03 16:58:46 +00:00
dan
459564f43f
Delay opening the sub-journal until SQLite actually needs to write data to it.
...
FossilOrigin-Name: c43deb33ae5f191ea2e054181759beeeb9ea71bf
2010-06-03 12:35:28 +00:00
drh
f83dc1ef3f
Remove global variables when compiled with SQLITE_OMIT_WSD
...
FossilOrigin-Name: dd10a547f10364058025c48b28d8fd240bf46aff
2010-06-03 12:09:52 +00:00
dan
1f55e28d2a
Enhancements to test_vfs.c and walfault.test.
...
FossilOrigin-Name: ac0de2f39e948f3b00e96eebf56ebee70472020d
2010-06-03 09:25:10 +00:00
dan
40ad9d2870
If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache.
...
FossilOrigin-Name: eb80ddc665132c607c258b59131025a296269dad
2010-06-03 09:17:38 +00:00
dan
8e64db2b09
If a malloc fails while allocating a savepoint object at the pager level, do not try to roll that savepoint back later on.
...
FossilOrigin-Name: 91cb08ffb6332a142542c012b58aa49206ee5704
2010-06-03 09:01:11 +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
dan
10ec894c3a
If an error occurs while writing frames to the log to commit a transaction, do not mark the pages as clean in the cache. Otherwise, the subsequent rollback does not roll them back (leaving the client to continue with a cache that makes it appear that the transaction was committed - inconsistent with the database on disk).
...
FossilOrigin-Name: cb571c1b71a37b3a10d640987c77a6eec508235d
2010-06-02 17:15:24 +00:00
shaneh
2796d336d2
Added implementation of vfslog_time() for Windows testing.
...
FossilOrigin-Name: b3109f85bde0b24bfbcfe6c0f7bbe973be196c1d
2010-06-02 16:40:54 +00:00
shaneh
a1a889ecb4
Updated wal2.test for windows testing.
...
FossilOrigin-Name: c3606f3985e4ab38479409c13f3a01d1be4f8189
2010-06-02 16:39:53 +00:00
drh
c11895b808
Make sure the directory used by os_unix.c for shared-memory files is always
...
the same, regardless of individual client permissions and environment
variable settings.
FossilOrigin-Name: f97bd520f06a16c61ccdd9ebeda7e138896b9ac2
2010-06-02 15:59:05 +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
drh
048129dcb9
In the rowhash.test, make sure global variables are cleared prior to use.
...
FossilOrigin-Name: 28efe0a40405567f3eaf334b6603282d5adac792
2010-06-02 14:43:30 +00:00
drh
0af3723478
Undo one of the "const" markers from the previous check-in because the
...
value needs to be changable, even if it is not actually ever changed in
the current implementation.
FossilOrigin-Name: c24ac3563f46fc6bcf7e45ee171afd3ae7d2faa8
2010-06-02 12:58:22 +00:00
dan
558814f8c6
Add some 'const' markers to static data that is really constant.
...
FossilOrigin-Name: e7073e23b80e7cae0c76d42f014ee9b2d40a8f2f
2010-06-02 05:53:53 +00:00
drh
8b3cf82ddf
The shared-memory used by WAL on linux now really is shared memory in /dev/shm.
...
On other unix flavors, the file is in a temporary directory rather than in the
same directory as the database.
FossilOrigin-Name: fc18c4aadb908c3b6f9b6481a2efca6a0daadc64
2010-06-01 21:02:51 +00:00
dan
0235ab9944
Changes to the way faults are injected into xShmXXX VFS calls.
...
FossilOrigin-Name: 716d99f3929b466c7a17190e0f18de8ab0e7f1fa
2010-06-01 19:15:18 +00:00
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
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
964bf9c8bb
The incremental checkpoint feature is not perfect yet, but it is working
...
well enough to merge it into the trunk.
FossilOrigin-Name: 1d3e569e59ba89cc167f0a48951ecd82f10322ba
2010-06-01 15:24:29 +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
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
72bcac9ca7
Do not hold the shared-memory mutex in os_unix.c if returning NULL.
...
FossilOrigin-Name: 9622dd468c8914262e9d8bd8dbca9e22ec6ee75c
2010-06-01 11:08:56 +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
dan
5f3f3b2962
Fixes to the test cases in wal2.test.
...
FossilOrigin-Name: cd5fbcbce8b55f24c0bf349b179c26e333ff7172
2010-06-01 07:51:47 +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
ad24581e65
Attempt to get the filectrl.test script running.
...
FossilOrigin-Name: e46a8f2b752f86c4d8942ee125210516026ffdc2
2010-06-01 00:28:42 +00:00
drh
b29ad8502e
Fix os_unix.c so that it will compile and build on a Mac.
...
FossilOrigin-Name: bc707c83e5f9849d9d201d695d0d071ca9ed93cb
2010-06-01 00:03:57 +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
4222441dee
Remove the tests that enable tracing based on the existance of the "vdbe_*"
...
files when in SQLITE_DEBUG mode.
FossilOrigin-Name: cdbb4e7ca7ec27e7e80dd66529d9d565f547887a
2010-05-31 14:28:25 +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
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
dan
8521abfd48
Changes to the way one of the WAL/OOM tests works.
...
FossilOrigin-Name: 15abbc34168f7a5bd418254c2b16aac97029e6ea
2010-05-31 06:38:34 +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
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
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
drh
51b21b169a
Updated header comments in wal.c. No functional code changes.
...
FossilOrigin-Name: 687632a6b3a0aeb006c1eda5c27d5489f08c230e
2010-05-25 15:53:31 +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
drh
1b78eaf0ba
Update header comments in wal.c to correctly describe the WAL file format.
...
Update the locking region offsets in os_unix.c and os_win.c and add assert()
statement to verify that the locking region offsets are correct.
FossilOrigin-Name: 40030c0739f821ea8ee188c28c579507f10448bc
2010-05-25 13:40:03 +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
82043b3077
Remove unreachable code associated with WAL from the pager.
...
FossilOrigin-Name: 54c1718e6d15a20414cae15895eb5e83217722e2
2010-05-25 02:24:01 +00:00
drh
f53303573a
OOM errors during an auto-checkpoint are benign.
...
FossilOrigin-Name: 3d252ce5d0d843e4e65beed672598e65c5745129
2010-05-24 20:27:44 +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
drh
c81791573a
Make sure a WAL frame of all zeros is detected as an invalid frame.
...
FossilOrigin-Name: 02d99ad4b51065c67cc7689916130774be1c4c87
2010-05-24 13:28:36 +00:00
drh
00f699d57b
Fix up test_osinst.c to work with SQLITE_OMIT_VIRTUALTABLE.
...
FossilOrigin-Name: 51fd38152b92db637d1d346fca35ec2d3e4d4f57
2010-05-24 12:34:14 +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
9c0928dcb6
Add a couple of missing methods to test_osinst.c..
...
FossilOrigin-Name: 5c9e9c06ae350043e66f36087da4021a52e6ee17
2010-05-22 08:22:39 +00:00
drh
4fa95bfc39
Add several EXPENSIVE_ASSERT code blocks to validate the wal-index hash table.
...
Fix the bugs that these code blocks fine. Rename walClearHash() to
walCleanupHash() and simplify its interface.
FossilOrigin-Name: 7aade899e55f4565f02d301e1e83fb0bac2ea500
2010-05-22 00:55:39 +00:00
dan
3b1eca0ade
Fix another bug in walClearHash().
...
FossilOrigin-Name: 40f80ffe70ca691dfa146f6d84956ed0784fc63d
2010-05-21 19:15:04 +00:00
drh
c527669df5
Comment out the SQLITE_FCNTL_SIZE_HINT from os_unix.c since it does not
...
seem to provide any performance gain there.
FossilOrigin-Name: 7d01309da658d6b658c1b2e53bbdc5112fb0a4d9
2010-05-21 18:24:06 +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
f0b20f8801
Fix the wal-index header read routine so that it correctly detects a zero
...
header as being malformed and in need of a wal-index rebuild.
FossilOrigin-Name: 1a4eb3a3efe86c7caff4d9a5894953bce378f841
2010-05-21 13:16:18 +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
shaneh
7c767e1113
Merge WIN32 WAL support into trunk. Still some issues with locking to resolve.
...
FossilOrigin-Name: 43377663fc3569c361867cdea19e8abaf91a163f
2010-05-19 23:41:55 +00:00
drh
f5d6e478d3
Add the SQLITE_FCNTL_SIZE_HINT to the os_win.c VFS.
...
FossilOrigin-Name: 9894118d20c08951565c2096552d4a3d2413f7b0
2010-05-19 19:39:26 +00:00
drh
9ff27ecdb2
Add the SQLITE_FCNTL_SIZE_HINT operator to sqlite3_file_control() and use it
...
to give the VFS hints about the ultimate size of a database file when the
file is growing.
FossilOrigin-Name: 2b7e3b4a30d6a7c4a8a4b8e7dd2ed728b565c96d
2010-05-19 19:26:05 +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
584c754d65
Revise the checksumming algorithm in wal.c. More variable refactoring.
...
FossilOrigin-Name: 542b90eba6440a0bccef329788fd17a2d3fbeee6
2010-05-19 18:08:10 +00:00
drh
6e81096fa2
Refactoring some variable names in wal.c.
...
FossilOrigin-Name: 1d201ff51f7c5ecdf71a91ed25204b7130894282
2010-05-19 17:49:50 +00:00
drh
027a128a78
Add a large comment to wal.c describing the WAL and wal-index file formats.
...
FossilOrigin-Name: a71a22b52f4570e934063553a81b39268127dc44
2010-05-19 01:53:53 +00:00
drh
29d4dbefaf
Update the wal-index hash format so that hash-table space is reused following
...
a rollback, thus preventing hash table overflows. Add assert()s to verify
that hash tables do not overfill. Further refactoring of the wal-index code.
FossilOrigin-Name: ada9a8c7b69c5dd2d66bbf62b61181651e6d2142
2010-05-18 23:29:52 +00:00
drh
a2a42013d2
Refactoring of the WalIterator implementation.
...
FossilOrigin-Name: b5b60fdcc5dcf41f2c79912075ac241f7ce220d6
2010-05-18 18:01:08 +00:00
drh
5939f44375
Mark the shared-memory in the WAL implementation as volatile.
...
FossilOrigin-Name: 0a6787908e989bd5e6af25acbdc59ebc8fa61d6d
2010-05-18 13:27:12 +00:00
drh
e730fec883
Comment clarifications in wal.c.
...
FossilOrigin-Name: a029be10172e2e6a2ef4e3eb2ea1bd0ca85b16ed
2010-05-18 12:56:50 +00:00
drh
69c4696784
Remove an unreachable test from wal.c.
...
FossilOrigin-Name: 7162c45673d1068d1fda55a70207a3cd77575502
2010-05-17 20:16:50 +00:00