/ Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

100 check-ins occurring around 40030c0739f821ea.

2010-06-02
17:15
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). check-in: cb571c1b user: dan tags: trunk
16:40
Added implementation of vfslog_time() for Windows testing. check-in: b3109f85 user: shaneh tags: trunk
16:39
Updated wal2.test for windows testing. check-in: c3606f39 user: shaneh tags: trunk
15:59
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. check-in: f97bd520 user: drh tags: trunk
15:43
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. check-in: aa2c2b67 user: drh tags: trunk
14:45
Changes to make WAL more robust against SHM locking failures and OOM errors. check-in: ebf40413 user: drh tags: trunk
14:43
In the rowhash.test, make sure global variables are cleared prior to use. check-in: 28efe0a4 user: drh tags: trunk
12:58
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. check-in: c24ac356 user: drh tags: trunk
05:53
Add some 'const' markers to static data that is really constant. check-in: e7073e23 user: dan tags: trunk
2010-06-01
21:02
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. check-in: fc18c4aa user: drh tags: trunk
19:15
Changes to the way faults are injected into xShmXXX VFS calls. check-in: 716d99f3 user: dan tags: trunk
17:46
Change the OOM and IO error test cases in walfault.test so that each test case runs both types of error simulation. check-in: b627e153 user: dan tags: trunk
15:44
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). check-in: b1abfaaf user: dan tags: trunk
15:24
The incremental checkpoint feature is not perfect yet, but it is working well enough to merge it into the trunk. check-in: 1d3e569e user: drh tags: trunk
14:30
Merge with [15abbc3416]. Closed-Leaf check-in: f4b9003a user: dan tags: wal-incr-ckpt
14:12
If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level. check-in: ce644965 user: dan tags: wal-incr-ckpt
13:17
Fix a bug introduced by the previous check-in but only seen if SQLITE_ENABLE_EXPENSIVE_ASSERTS is turned on. check-in: 9c9ec899 user: drh tags: wal-incr-ckpt
12:58
Fix an off-by-one boundary-value issue in walCleanupHash(). check-in: f039552e user: drh tags: wal-incr-ckpt
11:08
Do not hold the shared-memory mutex in os_unix.c if returning NULL. check-in: 9622dd46 user: dan tags: wal-incr-ckpt
10:44
If the checkpoint fails to obtain an exclusive lock on one of the read-lock bytes, do not consider this an error. check-in: 9e95e357 user: dan tags: wal-incr-ckpt
07:51
Fixes to the test cases in wal2.test. check-in: cd5fbcbc user: dan tags: wal-incr-ckpt
01:08
Comment edits and cleanup in wal.c. No functional code changes. check-in: e8e666ab user: drh tags: wal-incr-ckpt
00:28
Attempt to get the filectrl.test script running. check-in: e46a8f2b user: drh tags: wal-incr-ckpt
00:03
Fix os_unix.c so that it will compile and build on a Mac. check-in: bc707c83 user: drh tags: wal-incr-ckpt
2010-05-31
20:28
Fix issues with locking_mode=EXCLUSIVE in WAL. check-in: 8deba0ce user: drh tags: wal-incr-ckpt
18:24
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. check-in: a16fde19 user: drh tags: wal-incr-ckpt
16:56
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. check-in: 552658da user: drh tags: wal-incr-ckpt
16:41
Avoid dropping the checkpoint lock after a recovery run as a precursor to a checkpoint operation. check-in: cc25cfa0 user: dan tags: wal-incr-ckpt
16:17
Zero the checkpoint header as the last step of successful WAL recovery. Avoid an unnecessary lock/unlock in WalBeginReadTransaction. check-in: db3509c5 user: dan tags: wal-incr-ckpt
16:10
Get the new xShmLock interface design working on os_win.c. check-in: 149a7082 user: drh tags: wal-incr-ckpt
14:39
Make sure WAL alway requests enough shared-memory space. check-in: 138f1283 user: drh tags: wal-incr-ckpt
14:28
Remove the tests that enable tracing based on the existance of the "vdbe_*" files when in SQLITE_DEBUG mode. check-in: cdbb4e7c user: drh tags: wal-incr-ckpt
14:18
Update another test case in wal.test. check-in: 99fde69e user: dan tags: wal-incr-ckpt
13:11
Change WAL test cases to account for the improved concurrency in the new checkpoint logic. check-in: 2d6f2485 user: drh tags: wal-incr-ckpt
12:30
Do not fail a checkpoint just because active readers prevent backfill. check-in: 9aa4243e user: drh tags: wal-incr-ckpt
12:15
Add WALTRACE() macros to help with debugging and analysis. check-in: 765c3318 user: drh tags: wal-incr-ckpt
12:02
Another minor fix to checkpoint on the WAL branch. check-in: 853f1e3f user: dan tags: wal-incr-ckpt
11:39
Fix a bug in checkpoint introduced by [181ceb32ea]. check-in: b499dbc8 user: dan tags: wal-incr-ckpt
11:16
Fix some asserts and other things in the new WAL branch. check-in: 181ceb32 user: dan tags: wal-incr-ckpt
06:38
Changes to the way one of the WAL/OOM tests works. check-in: 15abbc34 user: dan tags: trunk
01:41
WAL runs but quickly deadlocks. check-in: ace58acb user: drh tags: wal-incr-ckpt
2010-05-30
19:55
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. check-in: ef3ba7a1 user: drh tags: wal-incr-ckpt
2010-05-29
08:40
Add tests to fkey2.test to check that ON CONFLICT clauses do not affect SQLite's behaviour when an FK constraint is violated. check-in: e9e5b100 user: dan tags: trunk
06:18
Minor changes to checksum related test cases. check-in: 60c22bde user: dan tags: trunk
2010-05-28
11:16
Add a test to walcksum.test to stress the checksum calculation. check-in: 778d0c17 user: dan tags: trunk
2010-05-26
17:31
Make sure the wal-index mapping is always large enough to cover the entire active area of the wal-index. check-in: 42705bab user: drh tags: trunk
15:06
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). check-in: 72de0073 user: drh tags: trunk
2010-05-25
15:53
Updated header comments in wal.c. No functional code changes. check-in: 687632a6 user: drh tags: trunk
15:23
Add a busy-handler to a test case in walthread.test to prevent errors. check-in: d3d348aa user: dan tags: trunk
13:49
Modify walcrash2.test so that it works with DEFAULT_AUTOVACUUM=1. check-in: 77438882 user: dan tags: trunk
13:40
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. check-in: 40030c07 user: drh tags: trunk
10:50
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. check-in: ed77556a user: dan tags: trunk
02:24
Remove unreachable code associated with WAL from the pager. check-in: 54c1718e user: drh tags: trunk
2010-05-24
20:27
OOM errors during an auto-checkpoint are benign. check-in: 3d252ce5 user: drh tags: trunk
20:24
Remove the walmode.test case from the inmemory_journal test of permutations.test. check-in: 27ba9c21 user: drh tags: trunk
17:00
Fix the wal2.test script so that it works in auto_vacuum mode. check-in: 6a818afb user: drh tags: trunk
13:57
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. check-in: 8a53f12c user: dan tags: trunk
13:28
Make sure a WAL frame of all zeros is detected as an invalid frame. check-in: 02d99ad4 user: drh tags: trunk
12:34
Fix up test_osinst.c to work with SQLITE_OMIT_VIRTUALTABLE. check-in: 51fd3815 user: drh tags: trunk
10:39
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. check-in: 65ba804d user: dan tags: trunk
2010-05-22
08:22
Add a couple of missing methods to test_osinst.c.. check-in: 5c9e9c06 user: dan tags: trunk
00:55
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. check-in: 7aade899 user: drh tags: trunk
2010-05-21
19:15
Fix another bug in walClearHash(). check-in: 40f80ffe user: dan tags: trunk
18:24
Comment out the SQLITE_FCNTL_SIZE_HINT from os_unix.c since it does not seem to provide any performance gain there. check-in: 7d01309d user: drh tags: trunk
16:23
Correct an off-by-one bug in the previous commit. check-in: 75a1130d user: dan tags: trunk
15:31
Remove entries from wal-index hash tables when a rollback or savepoint rollback occurs. check-in: 36795c2b user: dan tags: trunk
13:16
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. check-in: 1a4eb3a3 user: drh tags: trunk
2010-05-20
23:51
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. check-in: 1bd011c9 user: drh tags: trunk
21:21
Make use of the extra information in the WAL header and frame header to enhance robustness. check-in: 9580ecb7 user: drh tags: trunk
16:45
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. check-in: 66970643 user: drh tags: trunk
2010-05-19
23:41
Merge WIN32 WAL support into trunk. Still some issues with locking to resolve. check-in: 43377663 user: shaneh tags: trunk
22:09
Cherry-pick the SQLITE_FCNTL_SIZE_HINT patch (check-in [2b7e3b4a30d6a7c4a8] and bump the version number to 3.6.23.2. check-in: 776679af user: drh tags: branch-3.6.23
20:30
Disable the corruptE test which SQLITE_OVERSIZE_CELL_CHECK is enabled. This is a cherrypick merge from check-in [1dc4f9fe9b83467ba]. check-in: a40d080c user: drh tags: branch-3.6.23
19:39
Add the SQLITE_FCNTL_SIZE_HINT to the os_win.c VFS. check-in: 9894118d user: drh tags: trunk
19:26
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. check-in: 2b7e3b4a user: drh tags: trunk
19:09
Fix a bug in the new checkpoint computation. Also update the checkpoint algorithm in the test scripts to align with the new implementation. check-in: 8b6056f2 user: drh tags: trunk
18:08
Revise the checksumming algorithm in wal.c. More variable refactoring. check-in: 542b90eb user: drh tags: trunk
17:49
Refactoring some variable names in wal.c. check-in: 1d201ff5 user: drh tags: trunk
01:53
Add a large comment to wal.c describing the WAL and wal-index file formats. check-in: a71a22b5 user: drh tags: trunk
2010-05-18
23:29
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. check-in: ada9a8c7 user: drh tags: trunk
18:01
Refactoring of the WalIterator implementation. check-in: b5b60fdc user: drh tags: trunk
13:27
Mark the shared-memory in the WAL implementation as volatile. check-in: 0a678790 user: drh tags: trunk
12:56
Comment clarifications in wal.c. check-in: a029be10 user: drh tags: trunk
12:37
Keep additional state information in the pager in an effort to reduce the number of SQLITE_FCNTL_SIZE_HINTs. (Note: This change was found to make no performance difference and so has been moved onto a side branch. Use the parent check-in instead of this one.) Closed-Leaf check-in: 97d88a86 user: drh tags: branch-3.6.1-exp
2010-05-17
20:16
Remove an unreachable test from wal.c. check-in: 7162c456 user: drh tags: trunk
15:52
An improvement to the SQLITE_FCNTL_SIZE_HINT change that invokes the hint less often and only when really needed. check-in: a1d20ceb user: drh tags: branch-3.6.1
15:33
Invoke the SQLITE_FCNTL_SIZE_HINT opcode on the sqlite3_file_control() interface for database files before extending the size of the file. The VFS can use this hint to preallocate space. check-in: 9a083711 user: drh tags: branch-3.6.1
2010-05-15
10:24
Add a note to the documentation of sqlite3_wal_hook() to say not to return SQLITE_ROW or SQLITE_DONE. Or any other value that is not a valid SQLite error code. check-in: 2f0b6cbf user: dan tags: trunk
01:09
Silently ignore errors trying to set the default journal_mode while doing an ATTACH. check-in: b9af4ad2 user: drh tags: trunk
2010-05-14
20:15
Fix a typo that (by bad luck) was not a syntax error but which caused some important lines of code to be skipped when SQLITE_DEBUG was not used. check-in: 9ef99d97 user: drh tags: trunk
19:24
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]. check-in: 636f8609 user: drh tags: trunk
16:34
Pull in all the latest changes from the trunk. Update the win32 SHM methods to work with the new interface design. Closed-Leaf check-in: 4b69f2cd user: drh tags: wal-win32
14:52
Simplifications to the SHM implementation in os_unix.c, taking advantage of the removal of the LinuxThreads mess. check-in: d1debe5d user: drh tags: trunk
12:43
Simplify os_unix.c by removing support for LinuxThreads. Linux systems must either use NPTL or else not share database connections across threads. check-in: e294b696 user: drh tags: trunk
11:30
Change the OSTRACEn() macro to OSTRACE(()). Also rename some internal fields and variables in os_unix.c to be more meaningful and searchable. check-in: 5fe529f2 user: drh tags: trunk
10:43
Fix test_osinst.c so that it does not depend on gettimeofday() unless SQLITE_OS_UNIX is defined and NO_GETTOD is not defined. check-in: 2a4014b7 user: dan tags: trunk
08:39
Add xShmXXX methods to test_osinst.c. check-in: b8a9b37a user: dan tags: trunk
2010-05-13
20:19
Make debugging elements of the sqlite3_mutex object volatile and make them only appear when compiling with SQLITE_DEBUG. Ticket [51914f6acd2cb462]. check-in: e823c60c user: drh tags: trunk
15:44
Allow sqlite3WalCheckpoint() to be called even if the WAL is in the SQLITE_SHM_READ state, as sometimes happens after an error. check-in: 175b296f user: drh tags: trunk
09:40
Remerge mistaken test_osinst.c changes. check-in: e8c10d3c user: dan tags: trunk