Commit Graph

7678 Commits

Author SHA1 Message Date
dan
fe05aa144c Fix a problem with resizing the wal-index mapping after the mapping has been extended by an external process.
FossilOrigin-Name: 79d356fea6008a8adf8ebd4906571375f3cf5213
2010-04-30 17:05:23 +00:00
dan
c9d53dbe5a Fix a problem with calculating the required size of the wal-index when appending frames.
FossilOrigin-Name: 9526b11130f3ed2f5227386a26263c767214603a
2010-04-30 16:50:00 +00:00
drh
400df2ea70 In the debugging output for SHM-LOCK in os_unix.c, use symbolic names
for the lock states rather than raw numbers.

FossilOrigin-Name: 2afc33de2b2012d034fb0d2057a5a45e304516ca
2010-04-30 16:48:19 +00:00
dan
43a56b812c Fix a problem in the previous commit. Both unixShm.lockState and unixShm.readLock should be set to READ when downgrading from a WRITE to a READ lock
FossilOrigin-Name: 90119fecbce06c8db82194dfd9d5045be29b1cda
2010-04-30 16:41:53 +00:00
dan
78daa5a7d9 Fix a bug whereby upgrading from a READ_FULL to a WRITE lock, and then back to a read lock was dropping all WAL locks.
FossilOrigin-Name: 55f5af5e174df7a28deeb36faa51138926669897
2010-04-30 16:38:59 +00:00
dan
30c8629e67 Reapply commits [837d82a929] and [c05e7dca17] that were accidentally overwritten.
FossilOrigin-Name: 598de52700ba13e3228289220a74fc62073c62d4
2010-04-30 16:24:46 +00:00
dan
6ddb4bf938 Add xShmXXX() methods to the test VFS in test_devsym.test.
FossilOrigin-Name: 1d20342424b452ea96aaf161de1f98f26a9155a0
2010-04-30 16:19:39 +00:00
drh
49156b2b5e Correctly record the fact that the SHM lock reached PENDING if it did so
but failed to reach CHECKPOINT.

FossilOrigin-Name: d9250e84ac1fc6590f8670e1d801630650c7846a
2010-04-30 16:12:04 +00:00
drh
d749084ad0 Fix a couple uninitialized variables in the xShmLock method of the unix VFS.
Improved debugging logic for xShmLock.

FossilOrigin-Name: 69567c5fca9e30b7660e6f56350be929c3890d7e
2010-04-30 15:54:46 +00:00
dan
a7ad518ef0 When closing a WAL connection, attempt an exclusive lock on the database file. If the lock is obtained, checkpoint the database and delete the wal and wal-index files.
FossilOrigin-Name: c05e7dca172719f33e245c08d0c0e8ab47e5a537
2010-04-30 15:49:27 +00:00
dan
6045461eee If a reader attempts to upgrade to a writer, but is not reading the most recent database snapshot, return SQLITE_BUSY.
FossilOrigin-Name: 837d82a92977cbfa0963411daf8160d286a7ed32
2010-04-30 15:24:43 +00:00
drh
5530b764a8 Separate the concepts of underlying storage size and mapped size in the
VFS shared-memory implementation.

FossilOrigin-Name: 4cbe49f13fed288f94ff305bcfd99df907bf7baf
2010-04-30 14:39:50 +00:00
dan
87bfb51ef8 Add a missing walIndexUnmap() call to the checkpoint code. Change a couple of SQLITE_CANTOPEN constants to SQLITE_CANTOPEN_BKPT.
FossilOrigin-Name: 1f9e8c5c27ae2c68bc01d8e2bb2c662be7b3f161
2010-04-30 11:43:28 +00:00
dan
1bc6171c23 Fix an assert() in sqlite3WalRead().
FossilOrigin-Name: 2e7a0050e192dd197d4db92393ab120897c14836
2010-04-30 10:24:54 +00:00
dan
e93808dde2 Add missing mutexes to unixShmClose().
FossilOrigin-Name: a4741cb54dd5e753d48fd05ac9dbe27ee4aa1ec0
2010-04-30 10:06:09 +00:00
dan
4c97b53425 Fix a couple of assert() statements in os_unix.c and wal.c. Combine sqlite3WalIsDirty() with sqlite3WalUndo().
FossilOrigin-Name: a8f958be804ee05c4137b3cd110db344713af5f2
2010-04-30 09:52:17 +00:00
dan
ba51590bcd Add a missing walIndexUnmap() to sqlite3WalSnapshotOpen().
FossilOrigin-Name: 72b95fde15dae56390dc8d4168fb2757447e289e
2010-04-30 09:32:06 +00:00
dan
5047af405b Merge latest bugfix into wal branch.
FossilOrigin-Name: 265e66e6984c32999bf93981e3b1d19887dfe599
2010-04-30 06:02:30 +00:00
drh
79e6c78ccc The first 6 WAL tests now work. It's a start.
FossilOrigin-Name: a92c1851da10acf51e7f6f086b8a23bd731940b3
2010-04-30 02:13:26 +00:00
dan
6908343c65 Zero the "immediate FK constraint counter" associated with a statement object when sqlite3_reset() is called. Fix for [c39ff61c43].
FossilOrigin-Name: f660be615a0c1f4641782a83744533f5d3119218
2010-04-29 22:57:56 +00:00
drh
7ed91f2344 Refactor wal.c to use the VFS. This check-in compiles and links and works
ok as long as you leave WAL turned off, but WAL does not work.

FossilOrigin-Name: 62db5fa3b61be885b2d94e9b9ce3877b2c588350
2010-04-29 22:34:07 +00:00
drh
31cbbbad1c Untested implementation of the shared-memory dead-man-switch.
FossilOrigin-Name: 706611283ea2575c2942543391026b36061cfc1c
2010-04-29 16:40:51 +00:00
drh
7b6944047e Progress towards a VFS that will support WAL. Locking code is in place
but is untested.  Still no support for the DMS.

FossilOrigin-Name: 1bde41cf081570ad257f927b641e752dff4ed014
2010-04-29 15:17:48 +00:00
dan
185cca609b Close all open database connections at the end of wal.test.
FossilOrigin-Name: 3cc55a7568daa3796483f632e33478969e381cf5
2010-04-29 14:58:53 +00:00
dan
31c03907fd Fix a but in the WAL checkpoint code causing SQLite to use an inconsistent cache in a subsequent transaction.
FossilOrigin-Name: d1cadeed4eea20d8892726cc8c69f4f3f57d0cd4
2010-04-29 14:51:33 +00:00
dan
b4e3a6f72f Add tests to walthread.test.
FossilOrigin-Name: 9e891e7543ea4d7dee76deb2456af940f4cac49b
2010-04-29 08:47:28 +00:00
dan
e45d442692 Add a test to walthread.test for changing between WAL and rollback modes.
FossilOrigin-Name: da229e44bd4a5d512261da05958d560808c9889f
2010-04-28 18:17:23 +00:00
dan
f032f5362e Merge two "wal"
leaves.

FossilOrigin-Name: 13d2d5a66e9eaa81aa6314354201ee1fbd2b3824
2010-04-28 17:49:57 +00:00
dan
5e0ce87a3f Change walthread.test so that tests can be run with either multiple threads or multiple processes.
FossilOrigin-Name: 25f85f68723e56c18e44b094d85f67b99912dc86
2010-04-28 17:48:44 +00:00
drh
9beb1584bd Changes to the interface design for the xShmLock method of the VFS.
FossilOrigin-Name: 348409de26eafe12f5cb1236e8e167a4183d4051
2010-04-28 17:21:33 +00:00
drh
833bf968e3 Rename the sqlite3_log_hook() to sqlite3_wal_hook(). Added comments to
wal.h.

FossilOrigin-Name: bbc385111b19071e20fe963fab814262c815b3e9
2010-04-28 14:42:19 +00:00
dan
4b64c1e365 Merge two "wal" leaves.
FossilOrigin-Name: 8c2d43babd61fe2225d5c402174253f412604092
2010-04-27 18:49:54 +00:00
dan
8b348af860 Add a test to check that a checkpointer releases its locks before returning, even if it has been prevented by a conflicting lock from checkpointing the database.
Add a test to check that a checkpointer releases its locks before returning, even if it has been prevented by a conflicting lock from checkpointing the database.

FossilOrigin-Name: be44349d2b790fb470fcc9fb6a12e8b1076dc645
2010-04-27 18:43:16 +00:00
dan
8b5444bfae Fix a problem with identifying a corrupt database in WAL mode.
FossilOrigin-Name: c8658da44671e9c43c90ee4857bbe82c55d40f25
2010-04-27 14:37:47 +00:00
drh
af75c8695b Add the xShmRelease() method to the VFS. The os_unix.c implementation of
the shared memory logic is still non-functional.

FossilOrigin-Name: ed715b47c5f7657fbf901805981867898054b14d
2010-04-27 11:49:27 +00:00
dan
e106de6317 Run trans.test and avtrans.test as part of the "wal" permutation.
FossilOrigin-Name: c8893310510148f7e71ede5691606b6fc1c3df4d
2010-04-27 06:49:34 +00:00
dan
31f98fc8e4 Fix a problem that occurs when one process causes the log-summary file to grow and then a second process attempts to read the database.
FossilOrigin-Name: b51a5f8bc660616aa264025dd7ad4bdab458814b
2010-04-27 05:42:32 +00:00
drh
29d4beccc0 Merge in recent changes from the trunk
FossilOrigin-Name: 7a0ac682c3bffcb345321fe97434563350ac90f9
2010-04-27 01:56:21 +00:00
drh
8c6f666b26 Optimization: Convert an ORDER BY clause into a no-op if the query also
contains a GROUP BY clause that will force the same output order.

FossilOrigin-Name: ca9d86baf70f210d331ce93102177c8005c494cb
2010-04-26 19:17:26 +00:00
dan
e180c296ea Do not attempt to set journal_mode=wal on :memory: or temp file databases.
FossilOrigin-Name: 30d0134454734fd9335896372c30a903e9adcc64
2010-04-26 17:42:56 +00:00
drh
93791ea0ba Change the default_cache_size pragma to always store a positive value.
FossilOrigin-Name: 36fb2cae75b5dfe1fe818895f03c0b4f4190a722
2010-04-26 17:36:35 +00:00
drh
c6d2b4a365 Identify the SQLite version meta-value entry in the db-header output of
showdb.

FossilOrigin-Name: 245d934b72cbc6e897193e7892195b6561995939
2010-04-26 17:30:52 +00:00
dan
4cd78b4d89 Fixes for problems with small caches and SAVEPOINT rollback in WAL mode.
FossilOrigin-Name: 6a944f028d4a070bef29e1fbc6fbef481ebcd34c
2010-04-26 16:57:10 +00:00
drh
7ecc14761e Further enhancements to the showdb utility: A page number followed by "b"
causes a btree decoding to occur on the page.

FossilOrigin-Name: 2ff824e58ce8b8f605c809ac960dcbfc51c30e30
2010-04-26 16:47:12 +00:00
drh
562cedb185 Enhancements to the showdb.c utility program. Automatically detect the
page size and adjust the display accordingly.  Add the "dbheader" display
option.

FossilOrigin-Name: 23eb408b5d08b89b41aaf245a7be8e235f30af8a
2010-04-26 15:44:07 +00:00
dan
71cb518fca Add the "wal" permutation to run existing test files savepoint.test and savepoint2.test in WAL mode.
FossilOrigin-Name: 205e5d8ac08f7d7853427b4cd235fca125155d2d
2010-04-26 12:39:03 +00:00
dan
cd11fb28c3 Add mutexes to fix a race condition in wal.c. This isn't a very good fix.
FossilOrigin-Name: 3d159939cc2beb18c4ca0c8e9a99a75d4107e6e4
2010-04-26 10:40:52 +00:00
drh
c438efd68a Change the names of the log.c and log.h source files to wal.c and wal.h.
FossilOrigin-Name: 56fe5d7624f840417152bcc63efbe21a5f557920
2010-04-26 00:19:45 +00:00
drh
f2424c521b Begin moving WAL-specific I/O into the VFS. This checkin contains VFS
infrastructure but it is untested and is not yet hooked up to the WAL.
The version number is bumped to 3.7.0 because of the VFS extension.

FossilOrigin-Name: f5e615c28c7035a7e6d896790b51cf9bc7371d5f
2010-04-26 00:04:55 +00:00
drh
a4741840f6 Remove an unreachable branch from the function initialization logic.
FossilOrigin-Name: 064d3ddd6199b7b049b1706974e4295f78fb5ab9
2010-04-25 20:58:37 +00:00