SQLite

Timeline
Login

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

679 check-ins using file test/fts3.test version ae0433b09b

2010-11-19
04:22
Lemon: Fixed compiler warning on Visual C++. (Closed-Leaf check-in: 892c5f377a user: icculus tags: lemon-update-2010)
04:19
Lemon: correcting previous win32 access() fix.

The previous fix caused link errors when compiled as C++. (check-in: bd03d3331d user: icculus tags: lemon-update-2010)

03:55
Lemon: Patched to compile with Visual Studio. (check-in: 0b945101aa user: icculus tags: lemon-update-2010)
2010-10-02
01:01
Backport the very lastest R-Tree in order to take advantage of its enhanced robustness to corrupt databases. (Leaf check-in: 29a681dd7b user: drh tags: apple-osx-3623)
01:00
Fix the amalgamation builder so that it works with the rtree updates of the prior check-in. (Leaf check-in: 265b0b29b8 user: drh tags: branch-3.6.23)
2010-10-01
20:45
Backport the RTree implementation from the trunk into the 3.6.23 branch. The code for the application-defined query boxes is still present but is disabled. The reason for this backport is to take advantage of recent enhancements to robustness to database corruption. (check-in: 854b23c117 user: drh tags: branch-3.6.23)
2010-08-24
12:05
Pull the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) and the R-tree segfault bug fix ([7f2f71cc9e3c39093f09231f44]) into the 3.6.23 branch. Increase the version number to 3.6.23.3. (check-in: bcbdecd854 user: drh tags: branch-3.6.23)
02:10
Cherrypick the R-tree invalid shadow-table big fix of [7f2f71cc9e3c39093f09231f44] into the apple-osx 3.6.23 branch. (check-in: 68103d91d4 user: drh tags: apple-osx-3623)
01:59
Cherrypick the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) into the apple-osx 3.6.23 branch. (check-in: 60f16838cc user: drh tags: apple-osx-3623)
2010-08-17
23:13
Cherrypick the changes for enhancement requests [e090183531fc27474] (use indices on LIKE with no wildcards) and [4711020446da7d93d993] (use nocase index for LIKE even if the column is binary) into the 3.6.23.1 release of the Apple-OSX branch. (check-in: 220cca50da user: drh tags: apple-osx-3623)
2010-06-16
19:48
Merge in changes up to and including the 3.6.23.1 release. (check-in: 21ca87f691 user: drh tags: apple-osx)
2010-06-07
06:11
Add a couple of extra coverage tests for wal.c. (check-in: cfe60254df user: dan tags: trunk)
2010-06-05
19:18
Add further test cases for the logic in sqlite3WalBeginReadTransaction(). (check-in: a49713db39 user: dan tags: trunk)
18:34
Clarify the purpose of a test for a race-condition in sqlite3WalBeginReadTransaction(). (check-in: c041c6a978 user: dan tags: trunk)
18:12
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. (check-in: 394204735a user: dan tags: trunk)
14:42
Mark a condition in wal.c as ALWAYS(). (check-in: 3fe0cc784a user: dan tags: trunk)
11:53
Add extra coverage test cases for wal.c. No changes to production code. (check-in: f9d4ae0e8c user: dan tags: trunk)
2010-06-04
18:38
Clarify an assert in sqlite3WalExclusiveMode(). (check-in: 255850699d user: dan tags: trunk)
17:16
Remove an unnecessary branch from wal.c. (check-in: 8e54786c9a user: dan tags: trunk)
15:59
Add an English language error message to corresponding to SQLITE_PROTOCOL. "locking protocol". (check-in: ca327e32cf user: dan tags: trunk)
12:22
Add test for the code that detects an inconsistent pair of wal-index headers to wal2.test. (check-in: 157feba10f user: dan tags: trunk)
11:56
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. (check-in: b813233d76 user: dan tags: trunk)
10:37
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). (check-in: 02c4040ce2 user: dan tags: trunk)
2010-06-03
19:10
Fix another problem in test_vfs.c. (check-in: df7d59899c user: dan tags: trunk)
18:20
Have test_vfs.c simulate IO errors in xShmLock. (check-in: fcbf7cf189 user: dan tags: trunk)
18:02
Performance fix for winShmClose(). (check-in: ed7774de04 user: drh tags: trunk)
16:58
Add extra tests for removing elements from wal-index hash tables as part of a rollback. (check-in: af3e598ad9 user: dan tags: trunk)
12:35
Delay opening the sub-journal until SQLite actually needs to write data to it. (check-in: c43deb33ae user: dan tags: trunk)
12:09
Remove global variables when compiled with SQLITE_OMIT_WSD (check-in: dd10a547f1 user: drh tags: trunk)
09:25
Enhancements to test_vfs.c and walfault.test. (check-in: ac0de2f39e user: dan tags: trunk)
09:17
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. This can affect both WAL and rollback modes. (check-in: eb80ddc665 user: dan tags: trunk)
09:01
If a malloc fails while allocating a savepoint object at the pager level, do not try to roll that savepoint back later on. (check-in: 91cb08ffb6 user: dan tags: trunk)
2010-06-02
20:38
When a lock fails due to an I/O error (not an SQLITE_BUSY) then the checkpoint should fail. (check-in: c6eb0a2727 user: drh tags: trunk)
18:59
Fix a problem with rolling back to a savepoint opened before the writer decided to wrap the log file. (check-in: 6b4aed6aae user: dan tags: trunk)
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: cb571c1b71 user: dan tags: trunk)
16:40
Added implementation of vfslog_time() for Windows testing. (check-in: b3109f85bd user: shaneh tags: trunk)
16:39
Updated wal2.test for windows testing. (check-in: c3606f3985 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: f97bd520f0 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: aa2c2b67a7 user: drh tags: trunk)
14:45
Changes to make WAL more robust against SHM locking failures and OOM errors. (check-in: ebf4041383 user: drh tags: trunk)
14:43
In the rowhash.test, make sure global variables are cleared prior to use. (check-in: 28efe0a404 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: c24ac3563f user: drh tags: trunk)
05:53
Add some 'const' markers to static data that is really constant. (check-in: e7073e23b8 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: fc18c4aadb user: drh tags: trunk)
19:15
Changes to the way faults are injected into xShmXXX VFS calls. (check-in: 716d99f392 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: b627e15368 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: b1abfaaf53 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: 1d3e569e59 user: drh tags: trunk)
14:30
Merge with [15abbc3416]. (Closed-Leaf check-in: f4b9003a2d 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: ce64496509 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: 9c9ec8994b user: drh tags: wal-incr-ckpt)
12:58
Fix an off-by-one boundary-value issue in walCleanupHash(). (check-in: f039552e63 user: drh tags: wal-incr-ckpt)
11:08
Do not hold the shared-memory mutex in os_unix.c if returning NULL. (check-in: 9622dd468c 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: 9e95e35728 user: dan tags: wal-incr-ckpt)
07:51
Fixes to the test cases in wal2.test. (check-in: cd5fbcbce8 user: dan tags: wal-incr-ckpt)
01:08
Comment edits and cleanup in wal.c. No functional code changes. (check-in: e8e666ab82 user: drh tags: wal-incr-ckpt)
00:28
Attempt to get the filectrl.test script running. (check-in: e46a8f2b75 user: drh tags: wal-incr-ckpt)
00:03
Fix os_unix.c so that it will compile and build on a Mac. (check-in: bc707c83e5 user: drh tags: wal-incr-ckpt)
2010-05-31
20:28
Fix issues with locking_mode=EXCLUSIVE in WAL. (check-in: 8deba0cebd 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: a16fde1901 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: 552658da28 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: cc25cfa046 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: db3509c55d user: dan tags: wal-incr-ckpt)
16:10
Get the new xShmLock interface design working on os_win.c. (check-in: 149a7082e2 user: drh tags: wal-incr-ckpt)
14:39
Make sure WAL alway requests enough shared-memory space. (check-in: 138f128317 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: cdbb4e7ca7 user: drh tags: wal-incr-ckpt)
14:18
Update another test case in wal.test. (check-in: 99fde69e61 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: 2d6f248505 user: drh tags: wal-incr-ckpt)
12:30
Do not fail a checkpoint just because active readers prevent backfill. (check-in: 9aa4243e0c user: drh tags: wal-incr-ckpt)
12:15
Add WALTRACE() macros to help with debugging and analysis. (check-in: 765c33181a user: drh tags: wal-incr-ckpt)
12:02
Another minor fix to checkpoint on the WAL branch. (check-in: 853f1e3f77 user: dan tags: wal-incr-ckpt)
11:39
Fix a bug in checkpoint introduced by [181ceb32ea]. (check-in: b499dbc88a user: dan tags: wal-incr-ckpt)
11:16
Fix some asserts and other things in the new WAL branch. (check-in: 181ceb32ea user: dan tags: wal-incr-ckpt)
06:38
Changes to the way one of the WAL/OOM tests works. (check-in: 15abbc3416 user: dan tags: trunk)
01:41
WAL runs but quickly deadlocks. (check-in: ace58acbf1 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: ef3ba7a17f 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: e9e5b10019 user: dan tags: trunk)
06:18
Minor changes to checksum related test cases. (check-in: 60c22bde52 user: dan tags: trunk)
2010-05-28
11:16
Add a test to walcksum.test to stress the checksum calculation. (check-in: 778d0c1768 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: 42705babba 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: 72de007312 user: drh tags: trunk)
2010-05-25
15:53
Updated header comments in wal.c. No functional code changes. (check-in: 687632a6b3 user: drh tags: trunk)
15:23
Add a busy-handler to a test case in walthread.test to prevent errors. (check-in: d3d348aa97 user: dan tags: trunk)
13:49
Modify walcrash2.test so that it works with DEFAULT_AUTOVACUUM=1. (check-in: 77438882dd 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: 40030c0739 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: ed77556adc user: dan tags: trunk)
02:24
Remove unreachable code associated with WAL from the pager. (check-in: 54c1718e6d user: drh tags: trunk)
2010-05-24
20:27
OOM errors during an auto-checkpoint are benign. (check-in: 3d252ce5d0 user: drh tags: trunk)
20:24
Remove the walmode.test case from the inmemory_journal test of permutations.test. (check-in: 27ba9c21fb user: drh tags: trunk)
17:00
Fix the wal2.test script so that it works in auto_vacuum mode. (check-in: 6a818afb93 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: 8a53f12c83 user: dan tags: trunk)
13:28
Make sure a WAL frame of all zeros is detected as an invalid frame. (check-in: 02d99ad4b5 user: drh tags: trunk)
12:34
Fix up test_osinst.c to work with SQLITE_OMIT_VIRTUALTABLE. (check-in: 51fd38152b 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: 65ba804dd1 user: dan tags: trunk)
2010-05-22
08:22
Add a couple of missing methods to test_osinst.c.. (check-in: 5c9e9c06ae 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: 7aade899e5 user: drh tags: trunk)
2010-05-21
19:15
Fix another bug in walClearHash(). (check-in: 40f80ffe70 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: 7d01309da6 user: drh tags: trunk)
16:23
Correct an off-by-one bug in the previous commit. (check-in: 75a1130d86 user: dan tags: trunk)
15:31
Remove entries from wal-index hash tables when a rollback or savepoint rollback occurs. (check-in: 36795c2b23 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: 1a4eb3a3ef 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: 1bd011c9fe user: drh tags: trunk)
21:21
Make use of the extra information in the WAL header and frame header to enhance robustness. (check-in: 9580ecb7e3 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: 669706431f user: drh tags: trunk)
2010-05-19
23:41
Merge WIN32 WAL support into trunk. Still some issues with locking to resolve. (check-in: 43377663fc 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: 776679af58 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: a40d080ca3 user: drh tags: branch-3.6.23)
19:39
Add the SQLITE_FCNTL_SIZE_HINT to the os_win.c VFS. (check-in: 9894118d20 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: 2b7e3b4a30 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: 8b6056f2ee user: drh tags: trunk)
18:08
Revise the checksumming algorithm in wal.c. More variable refactoring. (check-in: 542b90eba6 user: drh tags: trunk)
17:49
Refactoring some variable names in wal.c. (check-in: 1d201ff51f user: drh tags: trunk)
01:53
Add a large comment to wal.c describing the WAL and wal-index file formats. (check-in: a71a22b52f 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: ada9a8c7b6 user: drh tags: trunk)
18:01
Refactoring of the WalIterator implementation. (check-in: b5b60fdcc5 user: drh tags: trunk)
13:27
Mark the shared-memory in the WAL implementation as volatile. (check-in: 0a6787908e user: drh tags: trunk)
12:56
Comment clarifications in wal.c. (check-in: a029be1017 user: drh tags: trunk)
2010-05-17
20:16
Remove an unreachable test from wal.c. (check-in: 7162c45673 user: drh tags: trunk)
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: 2f0b6cbf7b user: dan tags: trunk)
01:09
Silently ignore errors trying to set the default journal_mode while doing an ATTACH. (check-in: b9af4ad2ef 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: 9ef99d97d2 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: 636f86095e 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: 4b69f2cd31 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: d1debe5def 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: e294b696ba 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: 5fe529f239 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: 2a4014b79b user: dan tags: trunk)
08:39
Add xShmXXX methods to test_osinst.c. (check-in: b8a9b37a3c 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: e823c60ca4 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: 175b296f9b user: drh tags: trunk)
09:40
Remerge mistaken test_osinst.c changes. (check-in: e8c10d3cf6 user: dan tags: trunk)
09:32
Fix mistake in test_osinst.c. (Closed-Leaf check-in: 4c3e137803 user: dan tags: mistake)
09:11
Make sure xShmGet is never called while already holding the shared-memory segment. (check-in: 92ebdbc5f6 user: drh tags: trunk)
08:53
The refactored of VFS SHM primitives are now working so merge the wal-refactor branch back into the trunk. (check-in: bce21c1838 user: drh tags: trunk)
08:33
Change the xShmSize() implementation in os_unix.c so that it will only increase and never decrease the size of a shared-memory segment. (Closed-Leaf check-in: 149d2ae4a6 user: drh tags: wal-refactor)
07:08
Fix for a segfault that can follow a malloc failure. (check-in: 3cab902245 user: dan tags: wal-refactor)
06:19
Modify the VFS in test_vfs.c to match the refactoring of the xShmXXX methods. (check-in: 25e72f8156 user: dan tags: wal-refactor)
2010-05-12
19:02
(Moved to the mistake branch due to compile errors in test_osinst.c.) 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. (check-in: ee13c8849d user: dan tags: mistake)
18:30
Fix for the test_devsym.c test module for the VFS-SHM refactoring. (check-in: 49d6293375 user: drh tags: wal-refactor)
18:10
A couple simple fixes to get wal.test mostly working. (check-in: c744581274 user: drh tags: wal-refactor)
18:01
Refactoring the VFS-SHM methods used by WAL. This version compiles and runs non-WAL test cases but crashes and burns on wal.test. (check-in: 2b00152c1a user: drh tags: wal-refactor)
17:14
Updates to WAL support in os_win.c: pulled in latest changes from src/os_unix.c; updated tracing; misc. improvements. (check-in: 76504726a1 user: shaneh tags: wal-win32)
13:50
Remove the OP_Variable optimization of check-in [48b77b04935d894] since it can lead to malfunctions as described in ticket [26ff0c82d1e90]. (check-in: 7838163d08 user: drh tags: trunk)
06:54
Remove a branch made redundant by the earlier exclusive-mode changes. (check-in: c501b2ede6 user: dan tags: trunk)
2010-05-11
16:29
Have os_unix.c use the suffix "-wal-index" for wal-index files instead of "-wal-inde". (check-in: 885e854e7c user: dan tags: trunk)
14:00
When an attempt to change journal_mode fails due to locks, be sure to leave internal structures in a consistent state. (check-in: cf3d1e0b8a user: drh tags: trunk)
12:19
Changes so that WAL and exclusive-locking mode work together. (check-in: 71e7b1cf9f user: dan tags: trunk)
02:49
Initial port of WAL VFS support from os_unix.c to os_win.c. (check-in: 111ad59f21 user: shaneh tags: wal-win32)
02:46
Updates to WAL TCL test scripts to support running on Windows. (check-in: 6a5630806c user: shaneh tags: trunk)
2010-05-10
19:51
Fix an off-by-one error while constructing the name of the mmap file for the wal-index under os_unix.c. (check-in: 6e3735f72c user: drh tags: trunk)
18:10
Merge [96d6eaf4d2] and [40b0a6357b]. (check-in: c67756c404 user: dan tags: trunk)
17:29
Fix an uninitialized variable in OSX proxy locking. (check-in: 96d6eaf4d2 user: drh tags: trunk)
14:46
Modify the format of the wal-index to use a hash table to index log file segments. (check-in: 40b0a6357b user: dan tags: trunk)
14:10
If an ATTACH command fails due to OP_JournalMode but still attaches the database, make sure VACUUM still detaches it when done. (check-in: 6ecdc7ba2b user: drh tags: trunk)
11:20
Enhance the OP_JournalMode opcode with an ignore-errors option and use that option the ATTACH command. (check-in: 0bdea4cfbd user: drh tags: trunk)
2010-05-07
20:34
When running a checkpoint while in locking_mode=EXCLUSIVE, be sure to move the wal-index lock to UNLOCK from READ prior to promoting to CHECKPOINT. (check-in: be114bdf9b user: drh tags: trunk)
20:02
Change the xShmOpen() method of the VFS to take the database file name as its argument, not the WAL file name. Also fix some unrelated compiler warnings. (check-in: a65c293926 user: drh tags: trunk)
18:23
Additional tweaks to API documentation. No functional code changes. (check-in: e1230782a3 user: drh tags: trunk)
13:57
Updates to documentation on the C interfaces supporting WAL. No functional changes to code. (check-in: 681ba20cf0 user: drh tags: trunk)
13:52
Fix a recently introduced problem in wal.test. (check-in: 79b52d0ff7 user: dan tags: trunk)
12:49
Change wal.test and walhook.test so that they work with DEFAULT_AUTOVACUUM=1 builds. (check-in: 4cde92909c user: dan tags: trunk)
09:43
Test another IO error case in wal.c. (check-in: 8b3b5ab8fa user: dan tags: trunk)
06:59
Fix a problem with checkpointing large log files created by an external process. (check-in: 8f94bde568 user: dan tags: trunk)
05:46
Since walIndexTryHdr() can no longer encounter any error conditions, change tehe function signature so that it does not return an error code. This removes unreachable branches from other code. (check-in: 061a282cc0 user: dan tags: trunk)
00:28
Another attempt to fix permutations.test so that it excludes WAL tests from the journaltest permutation. (check-in: 58c404429c user: drh tags: trunk)
2010-05-06
22:21
Remove savepoint6.test from the set of tests run by journaltest since savepoint6.test uses journal_mode=WAL. (check-in: 811b45a96b user: drh tags: trunk)
21:37
The PRAGMA journal_mode=WAL; command now makes WAL the default journal mode for new databases added with ATTACH, so the behavior is consistent with the other journal modes. (check-in: c3520460a4 user: drh tags: trunk)
20:19
Make sure to do a clean shutdown of the library upon existing the shell in order to remove WAL files. (check-in: c1762dda00 user: drh tags: trunk)
19:55
Exclude all WAL tests from the journaltest permutation. (check-in: 46c97d7eee user: drh tags: trunk)
19:20
Changes to support SQLITE_OMIT_WAL. (check-in: 32a8501d78 user: shaneh tags: trunk)
19:04
Updates to the VFS SHM locking documentation. (check-in: 9927ce4210 user: drh tags: trunk)
18:48
Instead of transitioning to RECOVER state from CHECKPOINT when a recovery is required, perform the recovery while holding the CHECKPOINT lock. (check-in: bb0b6021e7 user: dan tags: trunk)
18:27
If recovery is run before a checkpoint, change back to a CHECKPOINT lock before performing the actual checkpoint. (check-in: dc98ee169c user: dan tags: trunk)
18:04
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. (check-in: 637f51ddf9 user: dan tags: trunk)
17:28
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. (check-in: d0c0034b0b user: dan tags: trunk)
16:06
After throwing an error to say that one cannot change into WAL mode within a tranactions, do not then go and change into WAL mode. (check-in: 56a17dae91 user: drh tags: trunk)
15:56
Further coverage tests. (check-in: 98a9713e00 user: dan tags: trunk)
15:36
Update configure scripts for WAL support. (check-in: 2edc5129f2 user: shaneh tags: trunk)
14:42
Add tests to cover a couple of branches in wal.c. (check-in: 429f437fb7 user: dan tags: trunk)
13:36
Unset a tcl variable before reusing it in wal.test. (check-in: e83efb232f user: dan tags: trunk)
12:15
Add tests for some lock-contention cases. (check-in: f0fcb9c9a6 user: dan tags: trunk)
11:56
Remove the noop-mutex implementations of mutex_held() and mutex_notheld() since they are both unreachable. (check-in: 6767b62a9a user: drh tags: trunk)
11:55
Add two text files containing pager design notes to the doc/ subfolder. (check-in: ed817fc893 user: drh tags: trunk)
11:32
Add test cases to test the libraries handling of corrupt wal-index headers. (check-in: 9465b267d4 user: dan tags: trunk)
07:43
Add tests for handling errors returned by xShm VFS methods. (check-in: fbbcacb137 user: dan tags: trunk)
2010-05-05
20:00
Change the behavior of the sqlite3_wal_hook() callback. It should now return SQLITE_OK or an error code and the error code is propagated back up the stack. If a checkpoint is desired, the callback should invoke sqlite3_wal_callback() itself. (check-in: 1b14195e05 user: drh tags: trunk)
19:09
Further simplifications to the SHM locking logic. Remove the SQLITE_SHM_QUERY option. Unify the WRITE to READ and RECOVER to READ transitions. (check-in: e9bfa6e4ce user: drh tags: trunk)
19:04
Test the handling of errors returned by the xShmXXX() APIs. (check-in: 72663123d6 user: dan tags: trunk)
18:46
Do not compare page sizes on source and destination of backup until transactions are started and the page sizes are locked. This is a fix to check-in [7bd44794c4]. (check-in: ec7157788b user: drh tags: trunk)
18:20
Simplifications to the SHM locking implementation in os_unix.c. (check-in: 9de05bfb09 user: drh tags: trunk)
16:23
Prohibit backup if the destination is using WAL and has a different page size from the source. (check-in: 7bd44794c4 user: drh tags: trunk)
15:33
When closing a WAL database, if the exclusive lock on the database file is obtained and the database successfully checkpointed, delete the wal-index file from the file system. (check-in: 2ac5d96c8e user: dan tags: trunk)
04:11
Make sure the page size of the main database is fixed following a failed VACUUM attempt. Otherwise, two consecutive failed VACUUM attempts with attempted page_size changes on encrypted or WAL databases could result in database corruption. (check-in: 208e7d5d3a user: drh tags: trunk)
03:39
Do not attempt to modify the page_size when running VACUUM on a WAL database. (check-in: 58a1a59be8 user: drh tags: trunk)
00:22
Get the previous mutex fix working with SQLITE_DEBUG and with the amalgamation. (check-in: df19928f7e user: drh tags: trunk)
00:05
When the in single-threaded mode, the sqlite3_mutex_alloc() interface still returns a non-NULL value. The mutex doesn't do anything, but it tests non-NULL. This way, extensions (or VFSes) that use sqlite3_mutex_alloc() can tell the difference between an OOM error and mutexes being disabled. (check-in: 451fd17575 user: drh tags: trunk)
2010-05-04
18:50
When sqlite3PagerPagecount() is called without any locks, always return the physical file size, not the logical file size. (check-in: 4016b42228 user: drh tags: trunk)
17:38
Be sure to release all wal-index locks before closing the wal-index. (check-in: b15b67fa14 user: drh tags: trunk)
17:20
Relax an over-zealous assert() in sqlite3WalUndo(). (check-in: 8f9d22d58c user: drh tags: trunk)
16:33
Take care not to invoke the xShmClose method of the VFS with a NULL shared memory object. (check-in: 1465d3842c user: drh tags: trunk)
15:20
Add a test case to verify that log files containing pages that are not a power-of-two bytes in size are handled correctly. (check-in: c2bf693f93 user: dan tags: trunk)
14:47
Fix problems with recovering wal files that use a page-size other than the default. (check-in: 1a391f3c55 user: dan tags: trunk)
11:06
Fix a typo in walfault.test. (check-in: 232dbe8ece user: dan tags: trunk)
10:36
Test that the correct number of padding frames are appended to the log file after committing a transaction in synchronous=FULL mode. (check-in: a60104aa7e user: dan tags: trunk)
2010-05-03
19:20
Unset some global TCL variables prior to use in test where prior tests can have those same variables set to an array value. (check-in: 49bef00e5c user: drh tags: trunk)
19:17
Fix a bug in the computation of the current time for the alternative CURRENT_TIMESTAMP functions used when SQLITE_OMIT_DATETIME is defined. (check-in: e7ded46b5e user: drh tags: trunk)
18:51
Documentation stubs for sqlite3_wal_autocheckpoint and sqlite3_wal_checkpoint. (check-in: 313762427d user: drh tags: trunk)
18:22
Fix a bug in the xCurrentTime() method of the os_unix.c VFS. (check-in: 551df11a56 user: drh tags: trunk)
18:01
Add a test to simulate an OOM during log recovery to walfault.test. (check-in: 7ed85e87dd user: dan tags: trunk)
17:24
Clear global variable "seconds" before use in walthread.test. (check-in: a35551a530 user: drh tags: trunk)
17:18
Fix a couple of errors in WAL code that can occur in an OOM situation. (check-in: 9d3f3736be user: dan tags: trunk)
16:36
Update the crash-test VFS in test6.c to pass-through the shared-memory methods to the real underlying VFS. This fixes the walcrash.test script. (check-in: ea09ff3791 user: drh tags: trunk)
16:30
Change the VFS definition so that all methods take a VFS object pointer as their first parameter. (check-in: 43b5b07f0d user: drh tags: trunk)
15:58
Have sqlite3_wal_checkpoint() handle a zero-length string in the same way as a NULL pointer. Fix "PRAGMA wal_checkpoint" so that it checkpoints all attached databases. (check-in: 7fecd21f45 user: dan tags: trunk)
14:32
Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available. Provide an implementation of xCurrentTimeInt64 for os_unix.c. (check-in: ab77b3ae6d user: drh tags: trunk)
14:08
Merge the write-ahead-logging changes into the trunk. (check-in: de9ae443cc user: drh tags: trunk)
14:05
If the sqlite3_wal_checkpoint() API is passed a NULL pointer in place of a database name, attempt to checkpoint all attached databases. (Closed-Leaf check-in: 27a5c09ce8 user: dan tags: wal)
13:37
Make sure the mutex is held while calling sqlite3ApiExit() in sqlite3_wal_checkpoint(). Other cleanup of WAL logic. (check-in: 11a85b821a user: drh tags: wal)
12:14
Have sqlite3_wal_checkpoint() populate the database handle error message and error code (as returned by sqlite3_errmsg() and sqlite3_errcode()). (check-in: ff234cf574 user: dan tags: wal)
11:05
Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint". (check-in: 714e594726 user: dan tags: wal)
08:19
Merge two wal leaves. (check-in: 23c0e6c3f3 user: dan tags: wal)
08:04
Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs. (check-in: 9803196dec user: dan tags: wal)
2010-05-01
20:17
Change the SHM interface so that it does not take the name of the shared object but rather the name of the WAL file and derives its own name from that. Remove the xShmDelete method from the VFS and replace it with a delete flag on xShmClose. (check-in: 94dea5f9c1 user: drh tags: wal)
18:23
Remove the xShmPush and xShmPull methods from the VFS. (check-in: 69e07fdbde user: drh tags: wal)
17:57
Define an invariant to guarantee deadlock-free operation of SHM in os_unix.c and check that invariant with assert() statements. (check-in: 6af2dca75b user: drh tags: wal)
17:50
Rework mutexes on the SHM implemention for os_unix to avoid a deadlock during WAL recovery. (check-in: 1a0f69bef2 user: drh tags: wal)
16:40
Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: 9b230c43df user: dan tags: wal)
11:33
Fix a typo in the walmode.test test script introducted yesterday. (check-in: dcabc90ca5 user: drh tags: wal)
11:19
Fix the sqlite3_mutex_alloc() interface to return NULL (not segfault) when operating in threadsafe mode. (This is a general-purpose bug fix which really ought to be ported to trunk.) (check-in: 64840a3caf user: drh tags: wal)
08:30
Add test case demonstrating deadlock during recovery of very large log files. No fix yet. (check-in: 63ea318eb1 user: dan tags: wal)
00:59
Do not allow journal_mode=WAL if the underlying VFS does not support xShmOpen. (check-in: d1fcccecdc user: drh tags: wal)
2010-04-30
22:28
Merge in changes from the trunk. (check-in: 76bf0eee1f user: drh tags: wal)
21:03
Avoid assertion faults in queries using indices with redundant columns. Ticket [3dbdcdb14e7f41]. (check-in: 946e06cd2a user: drh tags: trunk)
17:47
Change the SHM VFS logic in os_unix.c so that it does not hold an exclusive lock n the mapped memory when also holding a CHECKPOINT lock. This improves concurrency between readers and checkpointers. (check-in: 8660cda6f8 user: drh tags: wal)
17:28
Remove some obsolete debugging parameters. (check-in: a012aed498 user: drh tags: wal)
17:05
Fix a problem with resizing the wal-index mapping after the mapping has been extended by an external process. (check-in: 79d356fea6 user: dan tags: wal)
16:50
Fix a problem with calculating the required size of the wal-index when appending frames. (check-in: 9526b11130 user: dan tags: wal)
16:48
In the debugging output for SHM-LOCK in os_unix.c, use symbolic names for the lock states rather than raw numbers. (check-in: 2afc33de2b user: drh tags: wal)
16:41
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 (check-in: 90119fecbc user: dan tags: wal)
16:38
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. (check-in: 55f5af5e17 user: dan tags: wal)
16:24
Reapply commits [837d82a929] and [c05e7dca17] that were accidentally overwritten. (check-in: 598de52700 user: dan tags: wal)
16:19
Add xShmXXX() methods to the test VFS in test_devsym.test. (check-in: 1d20342424 user: dan tags: wal)
16:12
Correctly record the fact that the SHM lock reached PENDING if it did so but failed to reach CHECKPOINT. (check-in: d9250e84ac user: drh tags: wal)
15:54
Fix a couple uninitialized variables in the xShmLock method of the unix VFS. Improved debugging logic for xShmLock. (check-in: 69567c5fca user: drh tags: wal)
15:49
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. (check-in: c05e7dca17 user: dan tags: wal)
15:24
If a reader attempts to upgrade to a writer, but is not reading the most recent database snapshot, return SQLITE_BUSY. (check-in: 837d82a929 user: dan tags: wal)
14:39
Separate the concepts of underlying storage size and mapped size in the VFS shared-memory implementation. (check-in: 4cbe49f13f user: drh tags: wal)
11:43
Add a missing walIndexUnmap() call to the checkpoint code. Change a couple of SQLITE_CANTOPEN constants to SQLITE_CANTOPEN_BKPT. (check-in: 1f9e8c5c27 user: dan tags: wal)
10:24
Fix an assert() in sqlite3WalRead(). (check-in: 2e7a0050e1 user: dan tags: wal)
10:06
Add missing mutexes to unixShmClose(). (check-in: a4741cb54d user: dan tags: wal)
09:52
Fix a couple of assert() statements in os_unix.c and wal.c. Combine sqlite3WalIsDirty() with sqlite3WalUndo(). (check-in: a8f958be80 user: dan tags: wal)
09:32
Add a missing walIndexUnmap() to sqlite3WalSnapshotOpen(). (check-in: 72b95fde15 user: dan tags: wal)
06:02
Merge latest bugfix into wal branch. (check-in: 265e66e698 user: dan tags: wal)
05:57
Zero the "immediate FK constraint counter" associated with a statement object when sqlite3_reset() is called. Fix for [c39ff61c43]. (check-in: f660be615a user: dan tags: trunk)
02:13
The first 6 WAL tests now work. It's a start. (check-in: a92c1851da user: drh tags: wal)
2010-04-29
22:34
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. (check-in: 62db5fa3b6 user: drh tags: wal)
16:40
Untested implementation of the shared-memory dead-man-switch. (check-in: 706611283e user: drh tags: wal)
15:17
Progress towards a VFS that will support WAL. Locking code is in place but is untested. Still no support for the DMS. (check-in: 1bde41cf08 user: drh tags: wal)
14:58
Close all open database connections at the end of wal.test. (check-in: 3cc55a7568 user: dan tags: wal)
14:51
Fix a bug in the WAL checkpoint code causing SQLite to use an inconsistent cache in a subsequent transaction. (check-in: d1cadeed4e user: dan tags: wal)
08:47
Add tests to walthread.test. (check-in: 9e891e7543 user: dan tags: wal)
2010-04-28
18:17
Add a test to walthread.test for changing between WAL and rollback modes. (check-in: da229e44bd user: dan tags: wal)
17:49
Merge two "wal" leaves. (check-in: 13d2d5a66e user: dan tags: wal)
17:48
Change walthread.test so that tests can be run with either multiple threads or multiple processes. (check-in: 25f85f6872 user: dan tags: wal)
17:21
Changes to the interface design for the xShmLock method of the VFS. (check-in: 348409de26 user: drh tags: wal)
14:42
Rename the sqlite3_log_hook() to sqlite3_wal_hook(). Added comments to wal.h. (check-in: bbc385111b user: drh tags: wal)
2010-04-27
18:49
Merge two "wal" leaves. (check-in: 8c2d43babd user: dan tags: wal)
18:43
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. (check-in: be44349d2b user: dan tags: wal)
14:37
Fix a problem with identifying a corrupt database in WAL mode. (check-in: c8658da446 user: dan tags: wal)
11:49
Add the xShmRelease() method to the VFS. The os_unix.c implementation of the shared memory logic is still non-functional. (check-in: ed715b47c5 user: drh tags: wal)
06:49
Run trans.test and avtrans.test as part of the "wal" permutation. (check-in: c889331051 user: dan tags: wal)
05:42
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. (check-in: b51a5f8bc6 user: dan tags: wal)
01:56
Merge in recent changes from the trunk (check-in: 7a0ac682c3 user: drh tags: wal)
2010-04-26
19:17
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. (check-in: ca9d86baf7 user: drh tags: trunk)
17:42
Do not attempt to set journal_mode=wal on :memory: or temp file databases. (check-in: 30d0134454 user: dan tags: wal)
17:36
Change the default_cache_size pragma to always store a positive value. (check-in: 36fb2cae75 user: drh tags: trunk)
17:30
Identify the SQLite version meta-value entry in the db-header output of showdb. (check-in: 245d934b72 user: drh tags: trunk)
16:57
Fixes for problems with small caches and SAVEPOINT rollback in WAL mode. (check-in: 6a944f028d user: dan tags: wal)
16:47
Further enhancements to the showdb utility: A page number followed by "b" causes a btree decoding to occur on the page. (check-in: 2ff824e58c user: drh tags: trunk)
15:44
Enhancements to the showdb.c utility program. Automatically detect the page size and adjust the display accordingly. Add the "dbheader" display option. (check-in: 23eb408b5d user: drh tags: trunk)
12:39
Add the "wal" permutation to run existing test files savepoint.test and savepoint2.test in WAL mode. (check-in: 205e5d8ac0 user: dan tags: wal)
10:40
Add mutexes to fix a race condition in wal.c. This isn't a very good fix. (check-in: 3d159939cc user: dan tags: wal)
00:19
Change the names of the log.c and log.h source files to wal.c and wal.h. (check-in: 56fe5d7624 user: drh tags: wal)
00:04
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. (check-in: f5e615c28c user: drh tags: wal)
2010-04-25
20:58
Remove an unreachable branch from the function initialization logic. (check-in: 064d3ddd61 user: drh tags: trunk)
2010-04-24
19:07
Add comment explaining checksum mechanism. (check-in: 3e9ef5153e user: dan tags: wal)
18:44
Fix bugs in WAL mode rollback. (check-in: 31215969f5 user: dan tags: wal)
14:33
Merge with [0291ed974d]. Merge with [0291ed974d]. Merge with [0291ed974d]. (check-in: a352f6285e user: dan tags: wal)
14:02
When commands such as ALTER TABLE and VACUUM use SQL internally, make sure they use only the built-in functions and not application-defined overrides for those functions. (check-in: 0291ed974d user: drh tags: trunk)
04:53
Merge with [e79dac3c2f]. (check-in: 1e793d3a6d user: dan tags: wal)
04:49
Reserve some space at the start of the log-summary file to apply locks to. (check-in: a031aa1fa0 user: dan tags: wal)
2010-04-23
19:15
Fixes and tests for backup of a WAL database. (check-in: 480d12db4c user: dan tags: wal)
14:29
Merge of notify.c changes from experimental. Reset stored blocking connection when registered unlock_notify callback is cleared. (check-in: e79dac3c2f user: shaneh tags: trunk)
11:44
Add very simple test cases for backup and VACUUM of WAL databases. More to come. (check-in: 1077d8130b user: dan tags: wal)
2010-04-22
19:14
Create a version of the log checksummer that works on big-endian platforms. Remove the 512KB size limit on the log-summary. (check-in: 5d6d4423d1 user: dan tags: wal)
06:27
Further tests and changes related to switching between WAL and rollback modes. (check-in: 1236318477 user: dan tags: wal)
2010-04-21
18:37
Tests for (and changes to) the code to switch between WAL and rollback modes. (check-in: 9f4f933f2c user: dan tags: wal)
11:43
If, after obtaining a SHARED lock, there exists a *-wal file in the file-system, use WAL mode. This is necessary to recover from a crash that damages the first page of the database file. (check-in: 33cabf271b user: dan tags: wal)
06:19
Minor changes to test cases to account for the fact that databases with read/write versions of 2 are now understood. (check-in: 278ed41e1d user: dan tags: wal)
2010-04-20
18:53
Use the read and write version fields of the database header to mark a database as operating in wal-mode. (check-in: 96bef18c14 user: dan tags: wal)
2010-04-19
18:03
Add the sqlite3_log_hook() interface for scheduling checkpoints. (check-in: 9bda601455 user: dan tags: wal)
2010-04-17
18:50
Add some comments regarding file-locks to log.c. (check-in: 9d51c3b754 user: dan tags: wal)
17:34
Do not sync any files in wal mode if "PRAGMA synchronous=off" is set. If files are synced, pass either SQLITE_SYNC_FULL or SQLITE_SYNC_NORMAL to the xSync() callback as configured by "PRAGMA fullfsync". (check-in: 0ae91b0008 user: dan tags: wal)
16:10
It is possible for sqlite3.pUnlockConnection to be non-NULL when sqlite3.pBlockingConnection is NULL, as the notify1.test script demonstrates. (Closed-Leaf check-in: 95ff76ef67 user: drh tags: experimental)
15:45
Merge with trunk commit [3e646e3f4c]. (check-in: 43463970f5 user: dan tags: wal)
15:42
In synchronous=normal mode, do not sync the log after every transaction. In synchronous=full mode, sync the log and add any extra frames required to avoid blast-radius related problems after each transaction. (check-in: 9bc9b68473 user: dan tags: wal)
12:53
Change sqlite3_step() so that it automatically calls sqlite3_reset() instead of returning SQLITE_MISUSE when invoked on a prepared statement that previously returned any value other than SQLITE_ROW. (check-in: 3e646e3f4c user: drh tags: trunk)
12:31
Enhancements to wal-mode locking scheme. (check-in: 8549c28649 user: dan tags: wal)
2010-04-16
22:05
Changes for branch coverage of notify.c. Fixed quirk of unlock_notify() where it would still think it was blocked after a callback was cleared (even after the transaction on the blocking connection was closed). (check-in: c54e8dad01 user: shaneh tags: experimental)
13:59
Change the log file format to include a small (12 byte) header at the start of the file. (check-in: 9865d14d60 user: dan tags: wal)
11:30
Fix bug in log recovery (last frame in log was being ignored). Also remove an incorrect assert statement. (check-in: 67d2a89ec2 user: dan tags: wal)
2010-04-15
23:24
Disable query flattening when the outer query is a compound SELECT and the inner query has a LIMIT clause. Ticket [02a8e81d44]. (check-in: f96782b389 user: drh tags: trunk)
16:45
Allow writers to write dirty pages to the log mid-transaction in order to free memory. (check-in: ecd828f969 user: dan tags: wal)
13:33
Merge two leaves on the WAL branch. (check-in: c9ed66cc39 user: dan tags: wal)
13:29
The query planner fix of check-in [33b1f584ef] should have been on the trunk. (check-in: f538d759be user: drh tags: trunk)
12:36
Fix a problem in the result set size estimation logic of the query planner - a problem introduced by the two previous changes. (check-in: 33b1f584ef user: drh tags: wal)
10:58
Change the way checksums are calculated. (check-in: 84955c2e9c user: dan tags: wal)
02:37
Bring over the recent query planner enhancements from the trunk. (check-in: 82969f27e5 user: drh tags: wal)
01:04
Further refinements to table order selection on join query planning. (check-in: defaf0d99a user: drh tags: trunk)
2010-04-14
19:01
The query planner uses non-indexable WHERE clause terms to reduce the estimated number of output rows, then uses the estimated number of output rows as a tie-breaker when choosing table order. (check-in: b87cb0c2bd user: drh tags: trunk)
18:50
Add tests and fix bugs in WAL locking mechanism. (check-in: c18077f246 user: dan tags: wal)
18:06
Add tests to check inter-process WAL locking. (check-in: 9435f31358 user: dan tags: wal)
15:49
Improve the logLockRegion() function in log.c. (check-in: 5e9dd3bd8e user: dan tags: wal)
11:23
Fixes for locking issues in WAL mode. (check-in: a9617eff39 user: dan tags: wal)
2010-04-13
19:27
Add experimental locking scheme. (check-in: 3f958e87c3 user: dan tags: wal)
15:30
Fix an uninitialized variable in readDbPage of pager.c. (check-in: f4e1150fed user: drh tags: wal)
11:56
Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint". (check-in: 27dc5977c1 user: dan tags: wal)
11:45
Fix other problems in the WAL test scripts. (check-in: dcb31181db user: dan tags: wal)
11:35
Fix test script issues preventing walthread.test from running. (check-in: d90b1dde07 user: dan tags: wal)
11:18
Fix a pager bug introduced by the wal code. (check-in: 4a0b29dc5e user: dan tags: wal)
06:20
Sync wal branch with [012cf101bf]. (check-in: 9d690f24f6 user: dan tags: wal)
06:18
Test that the rollback-hook is invoked if a commit-hook implementation returns non-zero (causing a rollback). Remove documentation comment that says otherwise from sqlite.h.in. (check-in: 012cf101bf user: dan tags: trunk)
2010-04-12
20:54
Add e_fts3.test to the set of tests excluded from the inmemory_journal exclusion list, since it does simulated OOM errors which trigger I/O errors and SQLite is unable to recover from I/O errors without a persistent journal. (check-in: e7e7127f0b user: drh tags: trunk)
19:44
Recent changes cause the xSync method of the memory journal implementation to be used, so remove the assert(0). (check-in: 1f2cb94028 user: drh tags: trunk)
19:43
Clear a global variable in e_fts3.test before it is used. (check-in: ae89dfd26b user: drh tags: trunk)
19:32
Remove duplicate secure_delete pragma implemention. (check-in: c15fda145b user: drh tags: wal)
19:05
Add "log.h", which should have been part of the previous commit. (check-in: 8de9f01004 user: dan tags: wal)
19:00
Import experimental write-ahead-logging code. (check-in: 409d61baeb user: dan tags: wal)
17:08
Fix a problem where a process in exclusive mode could delete a hot-journal file without rolling it back from within sqlite3_close() or DETACH. This problem was introduced by commits from the past few days; it is not present in any release. (check-in: 51a6139508 user: dan tags: trunk)
14:51
Reset the simulated device in the test harness to its default configuration whenever it is restarted. (check-in: 562d20e662 user: drh tags: trunk)
2010-04-10
17:52
Fix issues and clarify the operation of pager_playback_one_page(). A block comment in pager.c identifies 13 invariants on the pager subsystem. Ticket [9d68c883132c8]. (check-in: 0906597698 user: drh tags: trunk)
2010-04-09
23:05
Add a test case for the OOM-fault corruption issue. Ticket [9d68c883132c8]. (check-in: 0a64a937b5 user: drh tags: trunk)
15:34
Candidate fix for a pager bug associated with sqlite3PagerMovepage(). (check-in: 8c046eb6d1 user: drh tags: trunk)
09:14
Avoid unnecessary calls to sqlite3_step() with null prepared statements while parsing the schema. (check-in: ae04d2d15d user: drh tags: trunk)
2010-04-08
17:35
Fix a typo in a comment. No changes to code. (check-in: 332cb55113 user: drh tags: trunk)
17:28
Fix code coverage problems in where.c. (check-in: b04a528249 user: drh tags: trunk)
16:30
Additional automatic index tests. (check-in: 99d8e325e9 user: drh tags: trunk)
15:01
New test cases for automatic indices. New testcase() macros associated with column-used bitmasks. (check-in: e1aa48ace7 user: drh tags: trunk)
15:01
Fix the computation of the number of rows in a table during automatic index generation. (check-in: edeab06a50 user: drh tags: trunk)
14:38
Fix an integer overflow bug in the automatic index logic. The bug was detected by the testcase() macros added in the previous check-in. Also add some more testcase() macros, since this issue points up their importance. (check-in: af97b4881a user: drh tags: trunk)
14:15
Add testcase() macros to the automatic index logic to insure that boundary cases are tested. (check-in: 7286547847 user: drh tags: trunk)
11:35
Make sure F_OK, R_OK, and W_OK are defined in test_demovfs.c. Define them manually if they are not. This is necessary to get the module to compile on some systems. (check-in: 7c8afc3272 user: drh tags: trunk)
01:16
Merge automatic index changes into the trunk. (check-in: bf7b8d8636 user: drh tags: trunk)
00:40
When constructing automatic indices do not include the same column more than once. (Closed-Leaf check-in: d067d9f7a9 user: drh tags: experimental)
2010-04-07
20:32
Pull over the latest changes from the trunk. (check-in: e388fe8be8 user: drh tags: experimental)
20:29
When rolling back a savepoint to the beginning of the transaction, make sure to initialize the database size in the btree layer correctly even if the database size field of the header is zeroed. (check-in: a3540c6acf user: drh tags: trunk)
19:32
Add an interface to the SQLITE_STMTSTATUS_AUTOINDEX status information to the TCL bindings. Add some simple automatic index test cases. (check-in: 1f40441204 user: drh tags: experimental)
16:54
Wrap all automatic index changes inside SQLITE_OMIT_AUTOMATIC_INDEX. Add the automatic_index PRAGMA to turn it on and off. (check-in: a811a47fbe user: drh tags: experimental)
14:59
Make sure that all automatic indices are covering indices. Otherwise, the table and index might be used together in a query but the table could get out of sync with the automatic index through out-of-band changes. (check-in: 2364313142 user: drh tags: experimental)
14:33
Enhance comments on the SrcList object definition to better explain the operation of the SrcList.a[].colUsed field. No changes to code. (check-in: c0f67ea131 user: drh tags: experimental)
14:32
Fix the trace output of the OP_Function opcode to show the correct register numbers. (check-in: 064c283eee user: drh tags: experimental)
07:57
Add file test_demovfs.c, containing a simple VFS implementation that demonstrates how writes to the journal file may be safely buffered by the VFS layer to improve performance on some embedded systems. (check-in: af3b72d94a user: dan tags: trunk)
2010-04-06
22:33
Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. (check-in: abbf16e5e7 user: drh tags: experimental)
18:51
Runs quicktest without hitting an assert now. Some tests get unexpected results still and there is a memory leak. (check-in: a8224448cc user: drh tags: experimental)
18:28
Progress toward getting automatic indices to work. Still failing in corner cases. (check-in: ac6d0fba78 user: drh tags: experimental)
15:57
Automatically generate transient indices for tables in joins that would otherwise have to use a full table scan. (check-in: 1b2a04125f user: drh tags: experimental)
2010-04-05
15:11
Minor comment changes to the OP_OpenEphemeral header. No changes to code. (check-in: 8e1d7ef47f user: drh tags: trunk)
2010-04-03
13:08
Silently abandon a rollback if the journal has been truncated. (check-in: 7626f6c9ea user: drh tags: trunk)
2010-04-02
13:25
Check for a failure in the call to sqlite3PagerPagecount() from within sqlite3PagerWrite(). (Error discovered by valgrind.) (check-in: d64d181c79 user: drh tags: trunk)
12:55
Take care to avoid a buffer over-read when adding a KEYINFO structure to the P4 parameter of an opcode. (check-in: 937b931a7c user: drh tags: trunk)
12:46
If the size of the database according to the header is larger than the actual database file size, report that the database is corrupt. (check-in: 8eb1f2443f user: drh tags: trunk)
03:39
Pager changes for code coverage testing. (check-in: b04a45ea97 user: drh tags: trunk)
2010-04-01
18:33
Disable the corruptE.test script when ENABLE_OVERSIZE_CELL_CHECK is on. (check-in: 1dc4f9fe9b user: drh tags: trunk)
16:15
Zero the filesize-in-header word for bigfile.tcl. Remove bigfile.tcl from the journaltest permutation. (check-in: 63610c71ca user: drh tags: trunk)
13:41
Do not journal the content of freelist leaf pages. This restores an optimization that was accidently undone by check-in [12f7346c13] on 2009-01-20. (check-in: b1e7a1a677 user: drh tags: trunk)
02:47
Remove a NEVER in sqlite3PagerPagecount() that can in fact be true. (check-in: 8f00533782 user: drh tags: trunk)
02:22
Restore the size information in the BtShared structure when a transaction rolls back. (check-in: 802aeb30c9 user: drh tags: trunk)
2010-03-31
23:20
Make sure an OOM error on sqlite3PagerPagecount() is detected and reported out to the interface. (check-in: 8aecf302a5 user: drh tags: trunk)
20:29
Report corruption if a database contains a reference that is out of range according to the filesize-in-header database size. (check-in: a91db0b1cd user: drh tags: trunk)
17:47
Clarification of the implementation of SQLITE_STMTSTATUS_FULLSCAN_STEP. No logical code changes - just commenting and layout changes to improve readability. (check-in: 06b9ca3225 user: drh tags: trunk)
15:02
Clear the column cache before populating aggregate accumulator registers. Fix fo r [883034dcb5]. (check-in: ffc23409c7 user: dan tags: trunk)
13:57
Documentation enhancements for the sqlite3_log() interface. No functional changes to code. (check-in: ba13a11108 user: drh tags: trunk)
11:56
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: b51fcac9fb user: drh tags: branch-3.6.23)
11:52
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: 0077ed5cf4 user: drh tags: trunk)
02:31
Increase test coverage following the introduction of the new filesize-in-header logic. (check-in: dbc2c3c014 user: drh tags: trunk)
2010-03-30
22:58
Continuing refinements to the filesize-in-header enhancement. (check-in: 79e22b9503 user: drh tags: trunk)
15:51
Add a NEVER macro around a test in btree.c that can not longer be true. (check-in: c117f99236 user: drh tags: trunk)
12:40
Do not crash when compiling an "INSERT INTO tbl DEFAULT VALUES" when tbl has either BEFORE or INSTEAD OF triggers attached to it. Ticket [f3162063fd]. (check-in: ca359a3e80 user: dan tags: trunk)
11:57
Change an #if into an #ifdef. (check-in: 371bab5d65 user: drh tags: trunk)
2010-03-29
21:22
Pull the experimental file-size-in-header changes into the trunk. (check-in: 0092b36c7b user: drh tags: trunk)
21:13
The btree layer now tracks when a database is empty at the start of a transaction and rolls back to that state. (Closed-Leaf check-in: 01ef6c1944 user: drh tags: experimental)
19:36
Fix issues with the io.test script. There is still a problem with a ROLLBACK TO not working on an initially empty database files. And much more testing is needed. (check-in: 09786e2a51 user: drh tags: experimental)
2010-03-27
17:12
Experimental changes that cause SQLite to use bytes 28..31 of the database header to determine the database size, rather than using the actual database size. This allows database space to be preallocated. (check-in: b844ac6fcb user: drh tags: experimental)
09:44
Increase the estimated cost of using a virtual table as the outer loop of a join when there exists an ORDER BY clause that is not satisfied by the virtual table. Fix for [775b39dd3c]. (check-in: 9e075e70f0 user: dan tags: trunk)
2010-03-26
22:28
Version 3.6.23.1 (check-in: b078b588d6 user: drh tags: release, branch-3.6.23)
21:53
Pull in other fixes from the trunk: check-ins [bea9258643], [f186b6a619], and [bb591802ff]. (check-in: b1f342a664 user: drh tags: branch-3.6.23)
21:48
Fix to the crash8.test test script. (check-in: f18a129a7a user: drh tags: branch-3.6.23)
17:42
Enhance FTS3 to take advantage of the MAX() optimization. Cherrypick of [b7e42ae774]. (check-in: 4b65b48051 user: drh tags: branch-3.6.23)
17:40
Correctly handle strings with zero-length tokens in the FTS3 offsets() function. This is a cherrypick of [d37034f7fc]. (check-in: ff6ae4f0e4 user: drh tags: branch-3.6.23)
17:37
After any rollback that modifies the database file, sync the database before deleting the rollback journal. This is a cherry-pick merge of check-ins [b21b911f23] and [f2326dad4e] (check-in: ca0bc2a22e user: drh tags: branch-3.6.23)
01:54
Fix OOM error on ANALYZE with STAT2 enabled with zero-length data. Ticket [cbd054fa6b]. (check-in: c33b38b59f user: shaneh tags: trunk)
2010-03-24
15:57
Fix for [9861b74ab9]. Correctly handle strings with zero tokens in the fts3 offsets() function. (check-in: d37034f7fc user: dan tags: trunk)
11:55
Attempt to suppress a warning from Borland Code Guard. (check-in: be27897991 user: drh tags: trunk)
2010-03-23
18:24
More commenting and documentation enhancements in FTS3. (check-in: 892e286709 user: drh tags: trunk)
15:46
Fix up obsolete comments in FTS3 to conform to the latest nomenclature. Add new comments to better explain FTS3 operation. (check-in: 3e4a008217 user: drh tags: trunk)
15:29
Close the auxiliary database db2 at the end of the crash8.test script. (check-in: 0fbdc431e8 user: drh tags: trunk)
2010-03-22
23:55
Sync the database file after a rollback. This is a cherrypick merge of check-in [b21b911f23]. (Leaf check-in: 82dd61fccf user: drh tags: branch-3.6.22)
17:38
Add an extra test case for crash recovery. (check-in: f2326dad4e user: dan tags: trunk)
17:13
After a rollback that writes or truncates the database file, sync the database file before invalidating the journal contents. Fix for [015d3820f2]. (check-in: b21b911f23 user: dan tags: trunk)
15:47
Disable the "init.test" test script when compiled with SQLITE_THREADSAFE=0. (check-in: ad68fa65bb user: drh tags: trunk)
04:32
Change the formatting of the preprocessor macros surrounding the compileoption interface in sqlite.h.in. This is so the documentation produced by parsing this part of sqlite.h.in is formatted similarly to the docs for the deprecated interfaces (with the #ifndef visible on the webpage). (check-in: 161958d11f user: dan tags: trunk)
2010-03-19
19:23
Put an ALWAYS() around a condition in pcache.c that must always be true in the current implementation. (check-in: 88810cd091 user: drh tags: trunk)
19:02
Have the xUpdate() method of the rtree module virtual table implementation set the *pRowid output variable when inserting a row. Fix for [dd3ba6063a]. (check-in: f31d22489d user: dan tags: trunk)
16:55
Store the SQLite version number of the last writer in bytes 96..99 of the header. (check-in: 146d4f5d34 user: drh tags: trunk)
16:52
Make sure the in-journal boolean vector is cleared and released when ending a transaction. This fixes an obscure problem with the previous check-in. (check-in: 69d749d93d user: drh tags: trunk)
15:48
Do not create, open, or initialize the rollback journal until something actually needs to be written into the journal. That way, expensive filesystem operations are avoided if the transaction ends up being a no-op. (check-in: b78e58ae15 user: drh tags: trunk)
13:59
Rewrite a couple of queries used internally by FTS3 to take advantage of the "SELECT max(x) FROM ..." optimization. (check-in: b7e42ae774 user: dan tags: trunk)
2010-03-18
16:34
Mark internal routines as "static" in FTS3. Ticket [b1552d0fa7]. (check-in: 39b34ac4a7 user: drh tags: trunk)
2010-03-15
20:53
Improved error message when the right-hand operand of MATCH in FTS3 is not a valid search expression. Ticket [170872f1c3]. (check-in: bea9258643 user: drh tags: trunk)
19:27
Fix FTS3 so that it does not run illegal SQL and cause a spurious log message. Ticket [42d45a693e6]. (check-in: f186b6a619 user: drh tags: trunk)
2010-03-13
02:15
Store the database size in pages in bytes 28..31 of the header. Currently this is for forensic use only, but it might be used in the future. (check-in: 59f75bba02 user: drh tags: trunk)
2010-03-12
16:32
Add assert()s to mem2.c (activated by SQLITE_MEMDEBUG) which verify that memory alloctions that might have come from lookaside are always freed using a lookaside-aware free routine. (check-in: c2af2164cf user: drh tags: trunk)
2010-03-10
23:13
Move the ctime.c source module near the beginning of the list of files inserted into the amalgamation so that #defines that are overridden in other modules will not effect the values returned by sqlite3_compiletime_used(). (check-in: bb591802ff user: drh tags: trunk)
21:42
Add the SQLITE_DBSTATUS_CACHE_SIZE verb for sqlite3_db_status(). The highwater mark does not yet work on this verb. (check-in: 418c6d8113 user: drh tags: trunk)
20:06
Remove the "experimental" markings on most interfaces that have been around for multiple releases. (check-in: d670e8bd51 user: drh tags: trunk)
14:06
Fix typo in a comment in the sqliteInt.h. No changes to code. (check-in: 1716821ddb user: drh tags: trunk)
2010-03-09
19:31
Version 3.6.23 (check-in: 4ae453ea7b user: drh tags: trunk, release)
15:10
Fix a test script issue affecting the TCL backup tests under Windows. (check-in: 20c400e73a user: shaneh tags: trunk)
14:41
Version 3.6.23 release candidate 4 (check-in: 3445eda029 user: shaneh tags: trunk)
14:41
Minor changes to silence compiler warnings on various MSVC builds. (check-in: 115c978b6b user: shaneh tags: trunk)
13:12
Version 3.6.23 release candidate 3 (check-in: 747baea5c3 user: drh tags: trunk)
13:02
Check-in [87a6a9970b] did not completely disable FTS4. This check-in aims to finish the job. (check-in: 0259b6299e user: drh tags: trunk)
12:35
Version 3.6.23 release candidate 2 (check-in: 73f4d292dc user: drh tags: trunk)
12:35
Disable FTS4 (which is incomplete and not ready for publication) to prevent accidental use. (check-in: 87a6a9970b user: drh tags: trunk)
05:01
Version 3.6.23 release candidate 1 (check-in: 30e9f966e7 user: drh tags: trunk)
2010-03-08
21:40
Add NEVER and assert macros and explanatory comments for unreachable conditions. (check-in: ffb6596e6c user: drh tags: trunk)
15:17
Correct an assert() in mem2.c (test code only). (check-in: 1a88e31b03 user: dan tags: trunk)
10:32
Do not run the stmt.test script as part of the inmemory_journal permutation. (check-in: 049cadf92b user: dan tags: trunk)
2010-03-05
20:17
Make sure the dbFileVers field in the Pager object is properly initialized even if there is an I/O error while reading its content off of disk. (check-in: 81ff698f62 user: drh tags: trunk)
18:46
Change a condition in sqlite3VdbeMemShallowCopy() to avoid accessing an unitialized variable (doing so was not dangerous, but caused a valgrind error). (check-in: 4793c381c6 user: dan tags: trunk)
17:27
Fix a one byte buffer overread in fts3. (check-in: 6e3e014af9 user: dan tags: trunk)
16:32
Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4]. (check-in: 8858042fa1 user: dan tags: trunk)
13:53
Adjustments to #ifdefs so that the #include of <sys/mount.h> is not included twice, because that confuses the amalgamation builder. (check-in: 27413fc8dd user: drh tags: trunk)
13:41
Adjust some #ifdefs so that the build works on Mac both with and without SQLITE_ENABLE_LOCKING_STYLE. (check-in: 0cc981f1cc user: drh tags: trunk)
2010-03-04
22:36
Second thoughts: Let Tiger users set SQLITE_ENABLE_LOCKING_STYLE=0. Was: Change SQLITE_ENABLE_LOCKING_STYLE to default off, even on Macs, since older Macs (Tiger) cannot compile the latest proxy locking sources. (Closed-Leaf check-in: 1a0fa8d19d user: drh tags: mistake)
17:58
Fix for [9abd6aa831]. Do not overread a buffer used for an %q or %w conversion with a precision specifier. (check-in: 5e472896e0 user: dan tags: trunk)
17:11
Fix an uninitialized variable in printf when compiling with SQLITE_OMIT_FLOATING_POINT. (check-in: 14ad62b9a5 user: drh tags: trunk)
16:12
Suppress harmless compiler warnings. (check-in: fc2c63ac78 user: drh tags: trunk)
00:53
Increase the maximum length of an sqlite3_log() result string. Provide more details on the statement abort log message. (check-in: 5322d1df5b user: drh tags: trunk)
2010-03-03
22:43
Pull the latest Lemon updates from the lemon-update-2010 branch into the trunk. (check-in: 84d760bfc1 user: drh tags: trunk)
22:40
Modify the sqlite3_log() interface and implementation so that it never uses dynamic memory allocation - to avoid deadlocking when called while holding the memory allocator mutex. Cherry-pick merge of [28d1bc98d6]. (check-in: 6f368b5448 user: drh tags: branch-3.6.22)
22:25
Modify the sqlite3_log() interface and implementation so that it never uses dynamic memory allocation - to avoid deadlocking when called while holding the memory allocator mutex. (check-in: 28d1bc98d6 user: drh tags: trunk)
17:09
Fixed compiler warning on Visual Studio. (check-in: 83495128c8 user: icculus tags: lemon-update-2010)
17:06
Whoops, that shouldn't have been in the merge. Removed buggy code. (check-in: 6437280032 user: icculus tags: lemon-update-2010)
17:00
Use Strsafe() instead of strdup(). Fixes Visual Studio complaining. (check-in: 89d8f98ea6 user: icculus tags: lemon-update-2010)
16:54
Merged trunk to lemon-update-2010 branch. (check-in: 88b466bae4 user: icculus tags: lemon-update-2010)
16:02
Fix some extra instances of the constants addressed by [83e47ca006]. (check-in: 0354ab279f user: dan tags: trunk)
15:18
Factor out constant expressions in sqlite3GetVarint() to work around nuisance warning messages from the RVT compiler. (check-in: 83e47ca006 user: drh tags: trunk)
14:23
Modify the command line tool to disable all mutexes. The command line tool is single-threaded. (check-in: 00e5679047 user: dan tags: trunk)
08:18
Fix another instance of the same warning-inducing expression in util.c. (Closed-Leaf check-in: 80c64e16e3 user: dan tags: mistake)
08:12
Silence a compiler warning by using a constant value instead of a constant expression that some compilers mistakenly believe causes bitshift overflow. (check-in: 587109c81a user: dan tags: mistake)
00:02
When TEMP files are in memory, also put the massive TEMP file used by the VACUUM command in memory. This is a cherry-pick merge of [9daf4e7d07] (check-in: e534223435 user: drh tags: branch-3.6.22)
2010-03-02
23:34
When TEMP files are in memory, also put the massive TEMP file used by the VACUUM command in memory. (check-in: 9daf4e7d07 user: drh tags: trunk)
2010-02-26
22:05
fix merge error and compiler warning (check-in: 5c0afe70a5 user: adam tags: apple-osx)
20:54
More double free paranoia (check-in: 62dfb44b3b user: adam tags: apple-osx)
16:37
Rename the sqlite_compile_option_*() SQL functions to sqlite_compileoption_*() for consistency with the C/C++ interface. (check-in: dd4962aa34 user: drh tags: trunk)
15:39
Remove the compile_option pragma (retaining compile_options - with an "s"). Updates to documentation. (check-in: 733778df99 user: drh tags: trunk)
15:09
Avoid a buffer overwrite that can occur with a corrupt database if secure-delete is enabled. (check-in: 7bdb1e05fa user: dan tags: trunk)
13:07
Avoid incorrect compiler warnings by doing a couple of needless variable initializations. (check-in: 8f29490da6 user: drh tags: trunk)
12:58
Increase the version number to 3.6.23 in preparation for the next release. (check-in: b5835d3e3d user: drh tags: trunk)
01:46
Minor changes to silence some compiler warnings with MSVC. (check-in: 4927c62d62 user: shaneh tags: trunk)
2010-02-25
23:44
Fix to the database connection validity checker. Other test coverage enhancements. (check-in: 0f6291bbbd user: drh tags: trunk)
21:27
Test coverage enhancements. Additional documentation detail on the new sqlite3_log() interface. (check-in: d986e92893 user: drh tags: trunk)
19:09
Add experimental fix for corruption detection problem. This may well be revised yet. (check-in: 1cc4be7ebc user: dan tags: trunk)
16:09
Fixed numbering of a few tests; minor tweaks on others; added a couple new tests to stress previous simplifications to compile-time option reporting functions. (check-in: 9b18dfd19e user: shaneh tags: trunk)
15:28
Minor simplifications to the compile-time option reporting functions and pragmas to facilitate coverage testing. (check-in: 633d874783 user: drh tags: trunk)
14:56
Expire pragma statements when reset, even if they were not run to completion. (check-in: b8fbf4275b user: drh tags: branch-3.6.22)
14:47
Expire pragma statements when reset, even if they were not run to completion. (check-in: 78351d289b user: drh tags: trunk)
04:15
Make sure the ON clause of a LEFT JOIN does not cause an index to be used to speed access to a table to the left of the join. Ticket [ebdbadade5] (check-in: f0ae251abb user: drh tags: trunk)
02:32
Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. (check-in: 46f406b202 user: drh tags: branch-3.6.22)
02:11
Fix a segfault that is possible for an OOM fault in ATTACH when in shared-cache mode. This is a cherrypick merge of check-in [e37137376a]. (check-in: f73cc0e9af user: drh tags: branch-3.6.22)
02:04
Enhance integrity_check to detect out-of-order rowids. This is a cherrypick merge of check-in [cae47c5b09]. (check-in: ecd22ef34d user: drh tags: branch-3.6.22)
01:54
Merge in the fix for VACUUM on auto_vacuumed databases with large schemas. Check-in [86d50ce57f]. Ticket [da1151f97df]. (check-in: ce624e39c2 user: drh tags: branch-3.6.22)
01:47
Start a new branch for release 3.6.22 plus limited enhancements and fixes. This first check-in includes the performance enhancements of check-ins [26cb1df735], [61a2c8d4d6], and [27dc5b1c52] (check-in: 9588259882 user: drh tags: branch-3.6.22)
2010-02-24
21:44
Add testcase() macros beside each sqlite3_log() call to make sure it is tested with both logging enable and disabled. (check-in: 1168763d2c user: drh tags: trunk)
19:36
Changes to compile time option diags to report values for some defines. Added test cases to TCL test suite (ctime.test). (check-in: dd480f62af user: shaneh tags: trunk)
19:23
Add a sqlite3_log() call on anonymous constraint failures. Fix the output of test cases having to do with improved reprepare reporting. Fix the VACUUM command to report more helpful error messages when things go wrong. (check-in: 69a493182f user: drh tags: trunk)
18:40
Fix an incorrect ALWAYS() macro in vdbeapi.c. Fix the output of a few test cases that changed due to better error propagation out of reprepare. (check-in: a8c984c1d6 user: drh tags: trunk)
18:25
Remove an unused variable from rtree. (check-in: 8e60d3995a user: drh tags: trunk)
17:15
Enhancements to the way errors are reported up when an automatic statement reprepare fails. (check-in: 1a6d4bb130 user: drh tags: trunk)
15:10
Fix an assertion fault that occurs when two different virtual tables are used in a single UPDATE statement. Ticket [d2f02d37f52b]. (check-in: ff61e0fd80 user: drh tags: trunk)
2010-02-23
21:08
Fix the stmt.test test script so that it works with SQLITE_TEMP_STORE=3. (check-in: 8bf710ce6d user: drh tags: trunk)
20:32
Merge the compile-time option introspection interfaces into the trunk. (check-in: 9f429434c0 user: drh tags: trunk)
20:11
Continuing improvements to error reporting and the sqlite3_log() routine. (check-in: edea3bb740 user: drh tags: trunk)
20:08
Refactored compile time option diagnostic support to use strings identifiers instead of bitmask. (Closed-Leaf check-in: 76a0294ab4 user: shaneh tags: compile_opts)
18:05
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: e37137376a user: dan tags: trunk)
17:36
Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: 7c4cca6d1a user: drh tags: trunk)
10:56
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: 875f8fa327 user: dan tags: compile_opts)
05:17
Removed checking of some compile options from the sqlite3_compileopts() API. (check-in: 833da702ff user: shaneh tags: compile_opts)
04:19
Test new api to report which options (defines) were used to compile SQLite. (check-in: 84c9756993 user: shaneh tags: compile_opts)
01:47
Add the ".log" command to the shell. This shows that some errors are logged multiple times and other errors are never logged at all. (check-in: 6d910245ad user: drh tags: trunk)
01:01
Remove the ".genfkey" command from the shell. We've had foreign-key support in the core since 3.6.19. Anyone who still needs the simulated foreign-key triggers can always generate them with an older version of the shell. (check-in: c4401fc93b user: drh tags: trunk)
2010-02-22
23:17
Fix an assertion-fault/segfault problem that comes up when trying to VACUUM an auto-vacuumed database with a large schema. Ticket [da1151f97df244]. (check-in: 86d50ce57f user: drh tags: trunk)
19:37
Merge in the massive clean-up and ANSI-fication of Lemon carried out by Ryan Gordon. There are no functional changes to SQLite itself - Lemon still generates exactly the same parsing automaton from exactly the same grammar. (check-in: 1e8b842039 user: drh tags: trunk)
19:32
Log all error messages if logging is enabled. (check-in: a8076aede3 user: drh tags: trunk)
2010-02-19
04:28
Changes to pragma integrity_check to check rowid order. Tests of same in corruptE.test. (check-in: cae47c5b09 user: shaneh tags: trunk)
2010-02-18
18:45
Add a new, experimental logging interface designed to aid in debugging of deeply embedded projects that use SQLite. (check-in: 103321e37a user: drh tags: trunk)
08:19
Allow statements like "REPLACE INTO tbl(rowid) VALUES(...)" to run without a statement journal as long as there are no triggers, foreign keys or indexes. (check-in: 0e42258040 user: dan tags: trunk)
2010-02-17
20:31
Report error if the grammar has multiple %type lines for the same nonterminal. (check-in: 721f33e722 user: icculus tags: lemon-update-2010)
20:22
Fixed % formatting in some printf-style strings. (check-in: f96add898f user: icculus tags: lemon-update-2010)
20:19
Corrected error message (cut-and-paste bug). (check-in: b3839f2aad user: icculus tags: lemon-update-2010)
19:34
Merge latest changes from the trunk into the apple-osx branch. (check-in: 4b72e39bd0 user: drh tags: apple-osx)
17:48
Consistent use of #ifdef for SQLITE_HAS_CODEC to avoid confusion. (check-in: 34a3413a53 user: shaneh tags: trunk)
05:40
Removed unused variables. (check-in: ca570a02f5 user: icculus tags: lemon-update-2010)
04:19
Avoid using the internal printf routine for round(x,y) in the common case where y==0. (check-in: d76ad8b3c4 user: shaneh tags: trunk)
03:57
More rounding tests. (check-in: 3863638b8c user: shaneh tags: trunk)
2010-02-16
22:06
Remove duplicated assignment in realloc. (check-in: c419955df0 user: shaneh tags: trunk)
22:00
Added additional rounding tests. (check-in: b8ee76bc1f user: shaneh tags: trunk)
16:09
Removed %expect directive, on drh's advice. (check-in: b43ac3309e user: icculus tags: lemon-update-2010)
16:07
Patched to compile. Accidentally removed va_list declaration. (check-in: 673d470c0c user: icculus tags: lemon-update-2010)
12:18
Change a C++ style comment in os_unix.c to use normal C style commenting. (check-in: 7a1933097f user: dan tags: trunk)
10:59
Fix for [e9a9fde1f4]. When opening an existing rtree, determine the node size by inspecting the root node of the r-tree structure (instead of assuming it is a function of the page-size). (check-in: ebc9433fdd user: dan tags: trunk)
2010-02-15
18:03
Fix the ALTER TABLE RENAME command so that it converts FOREIGN KEY constraints in ATTACH-ed and in TEMP tables as well as in the main database. Ticket [13336e9c3c8c3f]. (check-in: ab197d0aaf user: drh tags: trunk)
16:54
When creating a trigger on a main database table when there is a TEMP table with the same name, make sure the trigger is bound to the main table. Ticket [985771e11612]. (check-in: ec914af326 user: drh tags: trunk)
15:47
Fix a compiler warning in shell.c. Updates to comments in trigger.c. (check-in: c727601eec user: drh tags: trunk)
15:17
Fix a typo in the documentation for the OP_OpenPseudo opcode. (check-in: 9acfb06940 user: drh tags: trunk)
00:01
Removed the 80-char line formatting for ErrorMsg(), on dhr's suggestion. (check-in: 132ea4e5d7 user: icculus tags: lemon-update-2010)
2010-02-14
17:14
Make Lemon able to compile as C++ code. (check-in: 75a1060b29 user: icculus tags: lemon-update-2010)
05:42
Added option to not clip error output.

This is useful for IDEs and other tools that benefit from full path information, so they can jump directly to the error line in the source code. (check-in: 90602030d1 user: icculus tags: lemon-update-2010)

05:34
Delete output files if this is a failed run.

Otherwise, the fail will stop a Makefile from progressing, but if you immediately run the build again, Make will think the output files are up to date, since they are newer (albeit incomplete/incorrect). (check-in: e38c08d9cd user: icculus tags: lemon-update-2010)

05:19
Added %expect directive, to consider a certain number of conflicts "correct."

This has the side effect of changing the process exit code to never overflow. (check-in: d8bab8cf0b user: icculus tags: lemon-update-2010)

00:48
Added -T option, to specify a template filename on the command line.

The default is still "lempar.c", though. (check-in: e6cbe1e5ee user: icculus tags: lemon-update-2010)

2010-02-13
02:31
Merged tracing and initialization changes from mutex_unix.c into mutex_w32.c. (check-in: 942aa1f6a9 user: shaneh tags: trunk)
2010-02-12
22:43
Added experimental mutex implementation using interlocked ops and spin locks. (Closed-Leaf check-in: f3676b243d user: shaneh tags: experimental)
19:46
Enhancements to the secure_delete pragma to make it easier to use. (check-in: 2bb38bb96f user: drh tags: trunk)
18:18
Allow the secure-delete setting to be changed at run-time using a pragma. The SQLITE_SECURE_DELETE compile-time option determines the default setting. (check-in: f72f8a870a user: drh tags: trunk)
2010-02-10
05:33
Fix a segfault in fts3 that may occur if the snippet, offsets or matchinfo functions are used in a query that does not contain a MATCH clause. (check-in: 14ab536a96 user: dan tags: trunk)
2010-02-05
18:00
Make sure file descriptors are closed before unlinking in VxWorks. (check-in: f64b81f13d user: drh tags: trunk)
16:28
Avoid truncating non-in-memory sub-journals when releasing a savepoint for a small performance improvement. (check-in: 27dc5b1c52 user: shaneh tags: trunk)
14:12
Remove the use of 64-bit math in the offset computations of the OP_Column opcode for a small performance improvement. (check-in: 61a2c8d4d6 user: drh tags: trunk)
2010-02-04
17:38
Fix a performance glitch that appears for large transactions. (check-in: 26cb1df735 user: drh tags: trunk)
2010-02-03
19:55
Add a new full-text search variant that tracks the total number of documents and document sizes, to make ranking search results easier. Currently called FTS4. (check-in: 1b6e6094c8 user: drh tags: trunk)
2010-02-01
15:47
Add log.c. (Closed-Leaf check-in: 7b31373f6f user: dan tags: wal)
15:47
Create new branch named "wal" (check-in: 784b718ec3 user: dan tags: wal)
2010-01-31
15:14
Fix a C++-ism that snuck into sqlite3_finalize(). (check-in: fb96f2a2c6 user: drh tags: trunk)
14:18
If an OOM occurs while setting the page size for the TEMP database, be sure that error gets reported back out to the interface layer. (check-in: 6487e70a1e user: drh tags: trunk)
2010-01-28
19:56
Tweaks for consistency to the SEE and CEROD API declarations in sqlite3.h. (check-in: 299f74567b user: shaneh tags: trunk)
2010-01-26
01:25
Make the TEMP file tables use the page size set for the main database. Ticket [b80eeab588c4]. Also copy over the changes from apple-osx check-in [7c3bede3f2]. (check-in: 5dcfb0c9e4 user: drh tags: trunk)
01:14
Updated open mask to include SQLITE_OPEN_AUTOPROXY (check-in: 7c3bede3f2 user: adam tags: apple-osx)
2010-01-22
15:48
Fix two similar problems in fts3 that meant that an OOM error could cause a memory leak. (check-in: 701ef64b3d user: dan tags: trunk)
2010-01-21
23:11
Fix a segfault that can occur when the LHS of a LIKE operator has an undefined collating sequence. Ticket [1258875e07553]. (check-in: a82e6b4585 user: drh tags: trunk)
01:53
Redesign the string to numeric value caster so that it is more likely to work on unusual floating point hardware. (check-in: 8bb1104c6f user: drh tags: trunk)
2010-01-20
14:25
Fix a problem with handling OOM errors in fts3. (check-in: f9c54e95ec user: dan tags: trunk)
13:20
Align the os_unix.c source file with the version found on trunk. (check-in: fa0f6c140e user: drh tags: apple-osx)
13:07
Move the Apple OS-X VFS changes into the trunk. (check-in: 571594bfbe user: drh tags: trunk)
01:26
Update the Apple OS-X branch to include all of the latest changes in trunk. (check-in: 96499b1dd6 user: drh tags: apple-osx)
01:20
Manually copy over the rebustness fixes from the apple-osx branch. (check-in: 095c74ea62 user: drh tags: trunk)
2010-01-19
23:50
robustness fixes for preventing a finalized statement from being reused (check-in: a7a0c8d644 user: adam tags: apple-osx)
2010-01-18
18:17
Fix a problem with the CLI where not all SQL commands were being echoed. Added tests of same to tools/shell2.test. Ticket [eb620916be]. (check-in: 7080ae3bc3 user: shaneh tags: trunk)
2010-01-15
17:33
Fix test numbering in fts3snippet.test. (check-in: 34f6854685 user: dan tags: trunk)
17:25
Add coverage tests for fts3_snippet.c. Also fixes related to the same. (check-in: 5e9d8ccae9 user: dan tags: trunk)
2010-01-14
11:45
Add a test to e_fts3.test for the matchinfo example in fts3.html. (check-in: e5336edc55 user: dan tags: trunk)
11:17
Fix some matchinfo related test problems in fts3rnd.test. (check-in: da7abe0588 user: dan tags: trunk)
00:39
Comment cleanup in sqliteInt.h. (check-in: 67c3aea563 user: drh tags: trunk)
2010-01-13
17:39
Make the sqlite3IsNaN() function a macro that evaluates to FALSE when compiled with SQLITE_OMIT_FLOATING_POINT. (check-in: 56f232d562 user: drh tags: trunk)
16:43
When SQLITE_OMIT_FLOATING_POINT is defined, the floating-point formats in the sqlite3_*printf() functions should pull an int64 off of the parameter list and ignore it. (check-in: 3fd6f9ad06 user: drh tags: trunk)
16:25
When SQLITE_OMIT_FLOATING_POINT is defined, make sure the result of a mathematical operation is always tagged as an integer. (check-in: e12da0d316 user: drh tags: trunk)
15:15
Make the doubleToInt64() routine a pass-through when using OMIT_FLOATING_POINT. (check-in: 417167182e user: drh tags: trunk)
14:08
Add tests to backup.test to verify that SQLite behaves as expected when the source database is modified mid-backup. (check-in: 985d3bec07 user: dan tags: trunk)
04:22
Comment out unused code when SQLITE_OMIT_FLOATING_POINT is selected. Added testcase() macros to boundary conditions in util.c routines. (check-in: dfc6595d34 user: drh tags: trunk)
00:04
Make the sqlite3_result_double() interface work the same as sqlite3_result_int64() when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: 61df598660 user: drh tags: trunk)
2010-01-12
23:54
Make sure internal queries are well ordered, even when the reverse_unordered_selects pragma is in effect. Ticket [eb942c64a157]. (check-in: 0209f17180 user: drh tags: trunk)
19:28
Fix the implementation of CURRENT_TIMESTAME and CURRENT_DATE when SQLITE_OMIT_DATETIME_FUNCS is defined. (check-in: eb98265b59 user: drh tags: trunk)
17:57
Update comments in fts3_snippet.c. (check-in: dd9689b7c3 user: dan tags: trunk)
17:04
Use #ifdefs to disable unused code when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: 66bab85619 user: drh tags: trunk)
2010-01-11
18:26
Add a few documentation evidence comments to the built-in function implementations. (check-in: 8bd0f8147d user: drh tags: trunk)
12:00
Modify snippets code to run more efficiently. And to avoid a bug relating to snippets based on full-text queries that contain duplicate terms. (check-in: a2b1183d9e user: dan tags: trunk)
2010-01-09
07:33
Fix handling of an OOM error in the fts3 offsets() function. Fix a couple of snippet related test cases in e_fts3.test. (check-in: 14dc46a74a user: dan tags: trunk)
2010-01-08
23:01
Update comments in fts3.c to more accurately describe the doclist format. (check-in: e424a03073 user: drh tags: trunk)
04:50
Added option to restore_jrnl.tcl utility to hex dump journal pages. (check-in: 08c545f030 user: shaneh tags: trunk)
2010-01-07
22:02
Minor tweaks to restore_jrnl.tcl utility script. (check-in: b97aca1200 user: shaneh tags: trunk)
21:49
Small tool that attempts to repair a journal header. (check-in: 05b18b5f6a user: shaneh tags: trunk)
15:17
Fix the expression comparison logic to take the COLLATE operator into account. Ticket [360c6073e197] (check-in: 44bb1bfe5d user: drh tags: trunk)
11:27
Changes to test code so that testfixture compiles when OMIT_SHARED_CACHE and OMIT_UTF16 are defined. (check-in: d6ee5ff6c8 user: dan tags: trunk)
10:54
Fixes to problems in FTS3 snippet() function found by th3 tests. (check-in: 3b5ccd2682 user: dan tags: trunk)
03:53
Another attempt at fixing the table generator in lemon. Again, this does not effect the SQLite grammar. (check-in: e22c090f35 user: drh tags: trunk)
2010-01-06
18:36
Fix a segfault that can occur following an OOM in the FTS3 snippet() function (check-in: c7e5966e3b user: dan tags: trunk)
17:19
Change the fts3 snippet function to return (hopefully) more relevant snippets in less time. (check-in: 8a208223a7 user: dan tags: trunk)
13:12
Update the OS-X branch to include all trunk changes through version 3.6.22. (check-in: 541e2b488e user: drh tags: apple-osx)
13:07
Fix an issue with lemon generating incorrect grammars. This issue does not effect SQLite. (check-in: 077a6bee2d user: drh tags: trunk)
00:00
Version 3.6.22 (check-in: 28d0d77107 user: drh tags: trunk, release)
2010-01-05
14:18
Removed compiler warnings in MSVC. (check-in: 4ecb4725b7 user: shaneh tags: trunk)
13:40
Make sure new pages are zeroed even when loading a freelist page using the noContent option. This prevents a harmless valgrind warning. (check-in: e47e213369 user: drh tags: trunk)
04:59
Fix a problem in the shell tool. In some cases sqlite3_errmsg() was being called before sqlite3_finalize(), causing error messages to be more generic than they should be. (check-in: e5d07045fa user: dan tags: trunk)
03:30
In the debugging memory allocator, initialize new memory allocations to pseudo-randomness in an effort to find problems with memcmp() of structures that have uninitialized pad bytes. (check-in: 6462817b2f user: drh tags: trunk)
00:14
Fix a case in os_unix.c where two structures that might have uninitialized padding bytes are compared using memcmp(). (check-in: e02f255602 user: drh tags: trunk)
2010-01-04
13:30
Version 3.6.22 Release Candidate 1 (check-in: 9d8ab0f1f5 user: drh tags: trunk)
2010-01-02
19:02
Add experimental implementation of FTS3 functions matchinfo() and snippet() (not enabled by default). (check-in: 51f7ee8440 user: dan tags: trunk)
03:46
Fix a bug in the new sqlite3_test_control case of the previous check-in. (check-in: 3b77701bc8 user: drh tags: trunk)
03:21
Add a new sqlite3_test_control() verb that facilitates testing that all keywords are shown in the documentation. (Two keywords were found to be missing while testing the change.) (check-in: d3cdc4b12b user: drh tags: trunk)
2010-01-01
18:57
Add evidence marks associated with autoincrement. (check-in: 0e918c5489 user: drh tags: trunk)
2009-12-31
20:35
Add comments and an assert() to help clarify the operation of the sqlite3VdbeList() routine used to implement EXPLAIN. (check-in: e1ccdb93d7 user: drh tags: trunk)
19:48
Minor changes to test scripts to support various SQLITE_OMIT options. (check-in: 97f8a886b6 user: shaneh tags: trunk)
19:06
Changes to remove warnings in MSVC build. (check-in: 6cf76c2ae2 user: shaneh tags: trunk)
15:51
Change evidence marks to track requirement number changes in the foreign-key documentation. (check-in: 6b4fcd81e7 user: drh tags: trunk)
2009-12-30
14:19
Change the version number to 3.6.22. (check-in: 96919a46bb user: drh tags: trunk)
14:12
Adjustments to column cache handling in order to restore 100% branch test coverage. (check-in: cc6b959bc1 user: drh tags: trunk)
01:13
Remove some code in the column cache that is no longer used. Replace it with an assert(). (check-in: 1f890efb78 user: drh tags: trunk)
00:12
Remove obsolete comment text from expr.c. No functional code changes. (check-in: 84058be0be user: drh tags: trunk)
2009-12-29
23:39
Within the special new.* and old.* tables of a trigger, recognize all the original table names even if those names overload the "rowid", "oid", or "_rowid_" special names. Ticket [34d2ae1c6d0]. (check-in: 1a0e5fa9f0 user: drh tags: trunk)
10:32
Fix a bug triggered by optimizing an FTS3 table when there are no segments on disk but pending terms in the hash table. (check-in: a3b50e4f80 user: dan tags: trunk)
2009-12-24
16:00
Immediately purge entries from the column cache when the associated register undergoes an affinity change. Ticket [eb5548a849]. Enhance the SQLITE_TESTCTRL_OPTIMIZATIONS setting of sqlite3_test_control so that it can disable the column cache for testing purposes, in an effort to prevent future problems of a similar nature to this one. (check-in: ea4e57e1c1 user: drh tags: trunk)
2009-12-23
18:06
Fix the main.mk makefile so that the sqlrr extension is built into the amalgamation correctly. (check-in: a3204d8a21 user: drh tags: apple-osx)
2009-12-22
23:52
Move the query flattener turn-off from a pragma to an sqlite3_test_control() call. Make provisions (not yet implemented) to turn off other optimizers using the same call. (check-in: 4a97c623f4 user: drh tags: trunk)
18:56
Add the experimental FTS3 matchinfo() function. Provides details of the match that may be used for result ranking and other purposes. (check-in: 37a1de02d1 user: dan tags: trunk)
00:29
Add a pragma to disable the query flattener - for use during testing. (check-in: 1d8550e5c8 user: drh tags: trunk)
2009-12-21
08:53
Change many comments in e_fkey.test to include the full text of the corresponding statement in foreignkeys.html. (check-in: 4b489ecb25 user: dan tags: trunk)
2009-12-20
15:00
Fix a problem in FTS3 phrase queries. Add tests to check that it really is fixed. (check-in: 956de051f4 user: dan tags: trunk)
2009-12-17
22:17
Modified statement machine in sqlite3_complete() to return 0 on empty string. Added/updated tests for same. Ticket [356c885b0b]. (check-in: 76eca7295c user: shaneh tags: trunk)
22:12
Fixed some TCL test cases to work if SQLITE_OMIT_TRIGGER is defined. (check-in: 85e3c73497 user: shaneh tags: trunk)
21:07
Updated and added new test cases for CLI. (check-in: 29e3c8da1b user: shaneh tags: trunk)
21:07
In shell.c (CLI), modified local_getline() to remove '\r' as well as '\n' from end of lines. This provides consistency between MSVC and CYGWIN builds. (check-in: b1b48be1cf user: shaneh tags: trunk)
21:05
Fix typo in comment of prepare.c. (check-in: 333c3ffe6d user: shaneh tags: trunk)
03:49
Disable trace when recursively running commands while vacuuming. (check-in: 69a1348a3c user: drh tags: trunk)
02:13
Change the REGEXP function in ICU to require exactly 2 arguments. (check-in: c34cf23efb user: drh tags: trunk)
2009-12-16
23:46
Merge the latest changes on trunk (and especially the fix for the (xANDy)OR(z) bug) into apple-osx. (check-in: 5754a3a561 user: drh tags: apple-osx)
23:43
Remove unreachable code that was added by the fix to the "(xANDy)OR(z)" bug in the previous check-in. (check-in: 04915562a0 user: drh tags: trunk)
23:28
Fix for the "(x AND y) OR z" bug backported to version 3.6.21. (Leaf check-in: 867347323b user: drh tags: branch-3.6.21)
22:10
Ensure WHERE clause terms involving tables on the right end of a join are not prematurely evaluated when tables on the left end of the join make use of the OR-clause optimization. Fix for ticket [31338dca7e]. (check-in: 2c2de25266 user: drh tags: trunk)
14:49
Modify some comments in e_fkey.test. No changes to code or tests. (check-in: 1ba4f41232 user: dan tags: trunk)
2009-12-14
17:42
Add a few simple evidence comments to the tokenizer. No functional changes. (check-in: 0daec3099d user: drh tags: trunk)
15:17
Handle an unhandled OOM error code that occurs in fts3 with SQLITE_TEST defined. (check-in: 82b069998e user: dan tags: trunk)
14:49
Fix a broken assert() in fts3_write.c. Also fix a couple of compiler warnings in fts3 code. (check-in: a730a05b39 user: dan tags: trunk)
2009-12-13
23:03
Additional corrections to documentation comments. No functional code changes. (check-in: b3740b0aa0 user: drh tags: trunk)
22:20
Minor documentation updates. No functional changes. (check-in: 6ae7e40ba0 user: drh tags: trunk)
2009-12-12
23:57
Fix some documentation comments in sqlite.h.in. No functional code changes. (check-in: c16b9bec77 user: drh tags: trunk)
19:15
Tests to cover a few extra branches in fts3.c. (check-in: 06b72b0073 user: dan tags: trunk)
16:04
Further fts3 coverage tests. (check-in: d2a8c0f683 user: dan tags: trunk)
13:58
Rename tkt-d82e3f3721.txt to use the (correct) .test suffix. (check-in: 68cccd62b7 user: drh tags: trunk)
13:16
Extra tests for coverage of fts3 code. (check-in: eee921a99e user: dan tags: trunk)
09:51
Add coverage test cases for fts3. (check-in: 8fcb0478c8 user: dan tags: trunk)
2009-12-11
23:11
Additional changes to C-language interface documentation. (check-in: 1342916fd3 user: drh tags: trunk)
16:03
Change the fts3 test interface used to configure the advisory node size parameter. (check-in: 87fc0ce151 user: dan tags: trunk)
12:29
Rationalize some code in fts3 used by optimize operations, queries of the pending-terms hash table and segment merges. Add the "INSERT INTO tbl(tbl) VALUES('optimize')" syntax. (check-in: 29476da353 user: dan tags: trunk)
07:07
Add comment to fts3rnd.test to explain how the test works. (check-in: 6b740c7cd5 user: dan tags: trunk)
03:44
Extensive edits to the comments in the sqlite.h.in source file to identify testable statements of truth about the C-language interface. (check-in: ea884e1ed8 user: drh tags: trunk)
2009-12-10
21:11
Avoid declaring and freeing test variables if SQLITE_TEST not defined. (check-in: c2d22960f6 user: shaneh tags: trunk)
18:38
Remove some unused macros and types from fts3.c. (check-in: 83a80efe8a user: dan tags: trunk)
18:29
Fix handling of "WHERE col MATCH ? AND docid = ?" clauses in fts3. (check-in: 6cbbae8499 user: dan tags: trunk)
18:20
Fix an OOM related problem in the snippet() and offsets() functions of fts3. (check-in: 61efff4142 user: dan tags: trunk)
16:04
Changes to fts3 to avoid flushing data to disk within a SELECT statement. (check-in: 48c0db0eb2 user: dan tags: trunk)
01:17
Only declare the sqlite3_mutex_held() and sqlite3_mutex_notheld() interfaces in the header file if NDEBUG is not defined. (check-in: ee9b1c05a7 user: drh tags: trunk)
2009-12-09
21:43
Restore the incorrect legacy ON INSERT syntax to the parser as a no-op. That way, older databases that actually use this meaningless syntax will still be readable. (check-in: 54b955c36b user: drh tags: trunk)
18:22
Added test cases for the multi-way USING and NATURAL JOIN fix. Ticket [f74beaabde]. (check-in: 0b34ab2562 user: drh tags: trunk)
17:36
The USING clause and NATURAL JOIN look at all tables to the left when searching for a match, not just the one table to the immediate left. Tables further to the left are preferred. Fix for ticket [f74beaabde]. Still need to add test cases to complete the ticket. (check-in: b558e96f0a user: drh tags: trunk)
14:39
Improve test coverage of fts3.c. (check-in: 56b6432f86 user: dan tags: trunk)
05:30
Mark fts3ReallocOrFree and fts3InitVtab as static. Ticket [ff44d82f3b]. (check-in: a9038306c3 user: dan tags: trunk)
2009-12-08
22:16
Change to order of two branches in vtab.c in order to a restore 100% test coverage. (check-in: fdfdc777c5 user: drh tags: trunk)
19:58
Add comments to better explain the two-pass memory allocation approach for prepared statements. (check-in: 0e5e18ea12 user: drh tags: trunk)
19:05
Add tests to improve coverage of fts3. Associated bugfixes. (check-in: f0eac4175a user: dan tags: trunk)
15:35
Avoid pointer aliasing in the allocSpace() routine in vdbeaux.c. (check-in: d6ae275122 user: drh tags: trunk)
15:16
Begin updating API documentation to use the new MD5-hash based automatic requirements numbering. Comment changes only. Many similar changes will follow. (check-in: 973c5c86ee user: drh tags: trunk)
14:34
Allow zero-length names for tables, columns, and indices. Fix for ticket [78e04e52eaf]. (check-in: 7b1cfd65a6 user: drh tags: trunk)
13:44
Add test cases for ticket [abe728bbc311]. (check-in: 4eb9bf0b93 user: drh tags: trunk)
13:36
Avoid dereferencing a null pointer when doing a multi-database comment where one or more of the databases is an ATTACH-ed TEMP database. Ticket [abe728bbc311d]. (check-in: f43e37e0a4 user: drh tags: trunk)
02:06
Add evidence marks for the abs() and soundex() SQL functions. (check-in: 003f3ed10c user: drh tags: trunk)
2009-12-07
23:53
Merge all changes associated with the version 3.6.21 release into the OS-X branch. (check-in: ad08794d72 user: drh tags: apple-osx)
16:39
Version 3.6.21 (check-in: 1ed88e9d01 user: drh tags: trunk, release)
16:26
Remove a redundant line from fts3. (check-in: cd50acf37f user: dan tags: trunk)
16:23
Add extra tests for parsing of whitespace in tokenizer declarations,. (check-in: 5030ba2e30 user: dan tags: trunk)
16:18
Move some SQLITE_TEST code down to avoid mixing code and variable declarations. Fix a test for high-order bit handling in sqlite3Fts3InitTokenizer(). (check-in: fad43d290f user: shaneh tags: trunk)
14:48
Version 3.6.21 release candidate 2. (check-in: 78f6baffb0 user: drh tags: trunk)
12:34
Add some tests for OR, AND and NOT operations to fts3rnd.test. Add tests to check that errors are returned when bad arguments are passed to fts3 functions snippet, offsets and optimize. Minor fix for the same (check-in: 5811df3f04 user: dan tags: trunk)
2009-12-06
03:35
Enhanced detection of database corruption in btree.c:allocateSpace(). (check-in: 5a511f9887 user: drh tags: trunk)
2009-12-05
18:34
Fix to check-in [f221f31eff]: Make sure local variable rc is declared even when compiled without SQLITE_DEBUG. (check-in: 7a9a35327c user: drh tags: trunk)
18:16
Add test case for the obscure corruption detection added by the previous commit. (check-in: f221f31eff user: dan tags: trunk)
18:03
Catch an obscure case of database corruption. (check-in: 0f9b17a6da user: dan tags: trunk)
14:29
Fix another bug in 3-way NEAR queries. (check-in: 3bb13a0652 user: dan tags: trunk)
11:37
Fix some problems with FTS3 and 3-way NEAR queries. (check-in: 23dc6fb5b2 user: dan tags: trunk)