SQLite

Timeline
Login

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

3673 check-ins using file tool/spaceanal.tcl version b87db46a

FROM <tble>"). Ticket #3944. (CVS 6838) (check-in: 45fd5419 user: danielk1977 tags: trunk), (SELECT ... FROM tbl WHERE rowid > ) FROM ...". (CVS 5855) (check-in: 6c918c4e user: danielk1977 tags: trunk)
2011-06-21
15:34
Backport the localtime() failure patch from trunk. Ticket [bd484a090c8077]. (Leaf check-in: 2f5b3712 user: drh tags: branch-3.6.1)
2011-03-07
16:12
Backport a fix from [6b0cabd017ed25] (version 3.6.16 - 2009-03-05) to the 3.6.1 branch, a fix that prevents a null pointer deref if one of the column access routines such as sqlite3_column_int() is called with a NULL first parameter. (check-in: df343640 user: drh tags: branch-3.6.1)
2010-11-19
04:22
Lemon: Fixed compiler warning on Visual C++. (Closed-Leaf check-in: 892c5f37 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: bd03d333 user: icculus tags: lemon-update-2010)

03:55
Lemon: Patched to compile with Visual Studio. (check-in: 0b945101 user: icculus tags: lemon-update-2010)
2010-10-15
14:45
Cherry-pick the change at [2d4505510032bf9] into the 3.6.1 branch. (check-in: ecb1419e user: drh tags: branch-3.6.1)
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: 29a681dd 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: 265b0b29 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: 854b23c1 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: bcbdecd8 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: 68103d91 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: 60f16838 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: 220cca50 user: drh tags: apple-osx-3623)
2010-07-09
19:32
Exclude a few more FTS modules from the "in memory" permutation test suite. (check-in: 4e9d69cd user: shaneh tags: trunk)
18:43
Exclude fts3cov.test from the "in memory" permutation test suite to avoid a false positive. (check-in: 6af6794c user: shaneh tags: trunk)
12:57
Fix warning under MSVC. (check-in: 0c32c4bb user: shaneh tags: trunk)
03:19
Reformat WAL code for clearer presentation. Update comments for correctness. Add checks to ensure that corruption in shared-memory does not result in an infinite loop. (check-in: 40eaada7 user: drh tags: trunk)
2010-07-08
19:19
Replace code that became unreachable due to the journal_mode simplification with an assert(). (check-in: bcdddba4 user: drh tags: trunk)
18:32
Fix test case numbering in backup_malloc.test and issue when running under Windows. (check-in: aef26438 user: shaneh tags: trunk)
17:40
Change the journal_mode pragma to remove the "default journal mode" concept. The journal_mode pragma only effects currently attached databases and does not change the behavior of future attachments. (check-in: e396184c user: drh tags: trunk)
16:50
Merged experimental crashsql() into trunk. (check-in: 01b575ff user: shaneh tags: trunk)
16:30
Changes to get crashsql() working on Windows. (Closed-Leaf check-in: 8a5811ea user: shaneh tags: experimental)
16:22
Fix warning in test fixture code. (check-in: 0bfcf3bc user: shaneh tags: trunk)
16:22
Fix test case number issue in walcrash.test. (check-in: 6a46e641 user: shaneh tags: trunk)
14:59
Fix to lock5.test so that it runs with the inmemory_journal permutation on osx. (check-in: 948bb545 user: dan tags: trunk)
13:33
Fixed a few tests in pagerfault.test so they work correctly on Windows. (check-in: ffbdd954 user: shaneh tags: trunk)
09:44
Changes to test scripts so that the "inmemory_journal" permutation works with [ef126e775a]. (check-in: f553c8ed user: dan tags: trunk)
06:22
Add tests to walmode.test. (check-in: 5aa2bdb5 user: dan tags: trunk)
03:13
Changes to os_win.c to have it simulate IO errors like os_unix.c. (check-in: 0d53da94 user: shaneh tags: trunk)
2010-07-07
21:06
Make the initial salt values in the WAL header random values, not zero. (check-in: baa5eddd user: drh tags: trunk)
20:38
Add the write-ahead log viewer/debugger tool to the tools/ folder. (check-in: 0e4bd446 user: drh tags: trunk)
20:00
Fix issue in mallocI test script where db handle not released. (check-in: dd59cea6 user: shaneh tags: trunk)
18:38
Add further test cases to savepoint.test. (check-in: f825205d user: dan tags: trunk)
17:53
When rolling back a savepoint, reset the changeCountDone flag. (check-in: fb62f4e3 user: dan tags: trunk)
16:51
When using MSVC to build test code, suppress the popup dialog when abort is called from the sqlite_abort() test function. (check-in: 55d3d39f user: shaneh tags: trunk)
16:49
Fix some MSVC compiler warnings in the ASYNC extension. (check-in: b951c867 user: shaneh tags: trunk)
16:23
Merge together another accidental fork. (check-in: c41f04ed user: dan tags: trunk)
16:20
Fix test numbering issue in nan.test. (check-in: 5bb1330f user: shaneh tags: trunk)
16:18
Do not make the SQLITE_FCNTL_SIZE_HINT call if an error has already occurred during transaction commit. (check-in: e92de834 user: dan tags: trunk)
15:41
Close the file handle before returning. TCL test script issue only. (check-in: f4076d85 user: shaneh tags: trunk)
14:45
Fixed a new error introduced by last check-in of os_win.c. Updated xAccess() to support SimulateIOError(). (check-in: 8eefc287 user: shaneh tags: trunk)
14:40
Remove two more testcase() macros that require 4GiB WAL files to hit. (check-in: 16e18f27 user: drh tags: trunk)
14:35
Remove a testcase() macro that would require a 4GiB WAL to reach. (check-in: 15f9c271 user: drh tags: trunk)
14:33
Fix a compiler warning in PRAGMA journal_mode. (check-in: d94269e6 user: drh tags: trunk)
14:19
Avoid the need for a NEVER() from pager_write_pagelist() by passing in pPager as an extra parameter. (check-in: b3179379 user: drh tags: trunk)
14:00
Merge together the accident fork. (check-in: cdcf08cb user: drh tags: trunk)
13:58
Fix minor issue in xAccess() method for Windows. (check-in: 4bfd46f1 user: shaneh tags: trunk)
13:54
Make sure the schema is loaded before preparing a "PRAGMA journal_mode" command. This helps it return meaningful results when it is the first command executed by a new database connection. (check-in: ef126e77 user: dan tags: trunk)
13:43
Add testcase macros to ensure that large-file cases are tested in WAL. (check-in: 8156b57a user: drh tags: trunk)
11:43
Run some fts3 tests as part of the "wal" permutation. (check-in: 8657455a user: dan tags: trunk)
11:05
Change the async-IO extension to return SQLITE_IOERR_SHORT_READ when appropriate. This prevents a valgrind warning in the test suite. (check-in: d9e32879 user: dan tags: trunk)
09:48
Fix a problem with writing to databases larger than 2^32 bytes with WAL mode. (check-in: b956ddca user: dan tags: trunk)
01:52
Remote the SQLITE_OMIT_GLOBALRECOVER macro - it is subsumed by SQLITE_OMIT_DEPRECATED. Add support to sqlite3_compileoption_used() for SQLITE_OMIT_WAL. (check-in: 21a2db90 user: drh tags: trunk)
2010-07-06
20:37
Minor changes to Makefile.in to bring it more inline with main.mk. (check-in: 5621862b user: shaneh tags: trunk)
20:34
Changes to pager1.test to support Windows. (check-in: fce689eb user: shaneh tags: trunk)
20:33
Modified the xWrite() method on Windows to differentiate between IO and disk full error returns. (check-in: ca4b7ffb user: shaneh tags: trunk)
11:26
Do not do the *-closeallfiles test for notify2.test. It uses multiple threads. (check-in: fb09152d user: dan tags: trunk)
10:55
Before calling Tcl_ExitThread() in a multi-threaded test, call Tcl_DoOneEvent() as many times as necessary to handle any queued events. (check-in: b3399b40 user: dan tags: trunk)
09:29
Reorder variable declarations in the previous check-in to avoid putting code before declarations when not testing. (check-in: d1fe8ab4 user: drh tags: trunk)
07:36
Ensure the correct error code is returned if an attempt to parse a database schema made by an ATTACH statement fails. (check-in: c2721961 user: dan tags: trunk)
2010-07-05
21:00
Modify the VFS xAccess() method on winNT so that it returns false for an exists test of a zero-length file. This makes the windows VFS work the same as the unix VFS. (check-in: ec35f254 user: drh tags: trunk)
19:13
Simplify the previous commit by removing the pagerCheckForOrDeleteWAL() wrapper. (check-in: a1324d12 user: dan tags: trunk)
19:03
Allocate a buffer containing the full path-name to the associated WAL file when a pager is created. This saves having to construct a new buffer each time a new read-transaction is opened and SQLite checks for the existance of a WAL file. (check-in: 3053a4ad user: dan tags: trunk)
17:43
When rolling back page 1 from a journal, restore the "nReserve" setting in case it has been corrupted by a prior crash. (check-in: c0d124da user: drh tags: trunk)
14:54
Do not report an error if the open-file-count is not as it should be after running a multi-threaded test. The counter instrumentation is not thread-safe. (check-in: ea80b21c user: dan tags: trunk)
12:54
Call Tcl_ExitThread() from within threads created using Tcl_CreateThread(). Not doing so causes notifier related errors on OSX. (check-in: 684eae66 user: dan tags: trunk)
05:54
Add any files specified as part of the QUICKTEST_INCLUDE environment variable to the set of test files run as part of "make test". Release testing uses this trick. (check-in: a40a6e7d user: dan tags: trunk)
05:31
Fix typos in permutations.test. (check-in: b6600ecb user: dan tags: trunk)
2010-07-03
19:08
Do not run the memsubsys1.test script under the memsubsys1 permutation. (check-in: 3a1a8c77 user: dan tags: trunk)
17:13
Remove the unused xRename() method from the sqlite3_vfs object. Add better documentation on the xCurrentTimeInt64() method. (check-in: 51ec0e54 user: drh tags: trunk)
16:37
Further changes to test scripts so that the "inmemory_journal" permutation works. (check-in: 50f2f7df user: dan tags: trunk)
13:59
Fix a bug in the permutations.test script. (check-in: 3b20ad03 user: dan tags: trunk)
13:50
Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation. (check-in: 622378db user: dan tags: trunk)
13:45
Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation. (Closed-Leaf check-in: 78fc35ff user: dan tags: mistake)
12:31
Cherry-pick the correct changes out of the recent "mistake" branch while omitting the bugs. (check-in: 48bf3093 user: drh tags: trunk)
12:26
Remove dead code from the pager. (check-in: 7cbe175a user: drh tags: mistake)
12:00
Print the SQLite source_id() string when running speed tests. (check-in: 6d7640ed user: drh tags: mistake)
10:00
Fix an assert() in pager.c added by the previous commit. And various problems with test scripts in autovacuum and in-memory journal mode. (check-in: 62a10101 user: dan tags: mistake)
08:01
Do not attempt to open a WAL file for an in-memory or temporary database. Even if the database header suggests that it is a WAL database. (check-in: 0fd80924 user: dan tags: mistake)
05:56
Change code in OP_Rewind to avoid a valgrind warning following an error in the btree layer. This change does not fix any bug, just a warning. (check-in: 4f62dbcf user: dan tags: mistake)
01:44
Fix a buffer overrun in the where.c. Problem detected by valgrind. (check-in: 15bb6233 user: drh tags: mistake)
2010-07-02
19:49
Changes to os_win.c to have it return same error code as os_unix.c. (check-in: 33b6f069 user: shaneh tags: mistake)
19:36
Omit the OP_JournalMode opcode from the VDBE when SQLITE_OMIT_PRAGMA is defined. (check-in: 565ff65c user: drh tags: mistake)
19:04
Fix a bug in test_vfs.c causing an assert to fail. Changes to test code only. (check-in: 336ce7d2 user: dan tags: mistake)
18:58
Do not run the tests in notify3.test unless the unlock-notify API is available. (check-in: 0d7fd6fe user: dan tags: mistake)
18:44
Take out the incomplete initializer on the constant "dummy" in sqlite3VdbeGetOp(). Add a comment that the MSVC warning there should be ignored. (check-in: 452ccaa9 user: drh tags: mistake)
18:15
Fix a couple more compiler warnings under MSVC. (check-in: 26bc27e3 user: shaneh tags: mistake)
17:10
Fix compiler warnings in the proxy locking code. (check-in: 26c7689c user: drh tags: mistake)
17:07
Remove a couple of C++ style comments from pager.c. (check-in: 4f12e8eb user: drh tags: mistake)
17:05
Fix some warnings when compiling under MSVC. (check-in: 70833877 user: shaneh tags: mistake)
16:36
Add initializers for the xShmXXX() members to an sqlite3_io_methods structure in journal.c. This doesn't fix any real problem, just prevents a compiler warning. (check-in: dafb3577 user: dan tags: trunk)
15:35
Remove an unused call to sqlite3PageBegin() from pager_write(). Replace it with an assert(). (check-in: 01c12782 user: drh tags: trunk)
13:49
Run tkt-9d68c883.test along with the other pager.c coverage tests. Add a test case to pager1.test. (check-in: c6714b0d user: dan tags: trunk)
11:27
Additional test cases to cover branches in pager.c. (check-in: eddfb2b4 user: dan tags: trunk)
01:18
Add a NEVER to sqlite3PagerCommitPhaseTwo() because it is now no longer possible to invoke that function without holding a RESERVED lock. (check-in: 6ae76172 user: drh tags: trunk)
2010-07-01
19:45
If you delete a database file but not its *-wal file, then open the database (thus creating a new empty database file) the *-wal file is automatically deleted. (check-in: 95c69dfb user: drh tags: trunk)
19:01
Add tests to pager1.test and pagerfault.test. (check-in: c6e75950 user: dan tags: trunk)
15:09
Add pager test cases. Change a condition in pager.c to NEVER(). (check-in: a8f6341d user: dan tags: trunk)
2010-06-30
10:36
Add further test cases. Fix an assert() in pager.c. (check-in: 8e65c0e3 user: dan tags: trunk)
04:36
Do not call pager_open_journal() from within PagerBegin() if the connection is in exclusive-access mode. It will be called from within PagerWrite() just as it is for non-exclusive mode anyway. (check-in: cdf2c5c2 user: dan tags: trunk)
04:29
Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. (check-in: 5e19bc36 user: dan tags: trunk)
2010-06-29
10:30
Add tests to pager1.test and pagerfault.test. (check-in: 008513ee user: dan tags: trunk)
2010-06-28
19:04
Add extra pager tests. (check-in: 6b7e419d user: dan tags: trunk)
11:23
Fix some errors when compiling with SQLITE_OMIT_WAL. (check-in: 3b68cb9c user: dan tags: trunk)
11:06
Remove debugging code from test script. (check-in: a85ae332 user: dan tags: trunk)
10:15
Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.). (check-in: 4932f228 user: dan tags: trunk)
2010-06-26
22:16
Make walIndexTryHdr() a private function. Fix an issue with SQLITE_MUTEX_NOOP. (check-in: ec65bbd0 user: drh tags: trunk)
21:34
Suppress various compiler warnings. (check-in: e82d008e user: drh tags: trunk)
20:25
Fix two asserts on the scratch allocator to allow for up to two outstanding scratch allocations per thread. (check-in: f149b498 user: drh tags: trunk)
20:00
Suppress a couple uninitialized variable warnings. (check-in: 29571e22 user: drh tags: trunk)
19:03
Add test file tkt-d11f09d36e.test. (check-in: 6e469b63 user: dan tags: trunk)
19:02
Remove a NEVER() in pager that can in fact be reached in obscure failure cases. (check-in: 42b8bd1c user: drh tags: trunk)
17:15
Fix a case where the doNotSyncSpill flag may remain permanently set following an IO error. (check-in: 56c7d111 user: dan tags: trunk)
15:42
When synchronous=NORMAL, use the same journal file format as with synchronous=FULL (i.e. multiple journal headers within the one journal). Fix for [d11f09d36e]. (check-in: 2eaf5ee0 user: dan tags: trunk)
2010-06-25
19:09
Further test cases for pager1.test and pagerfault.test. (check-in: bfd563c4 user: dan tags: trunk)
16:34
Reduce the average (but not maximum) size of the allocations made as part of a checkpoint. (check-in: 4a7fd91b user: dan tags: trunk)
15:16
Reduce the size of the large allocation (approx 8KB for every 4000 frames in the log) that occurs during checkpoint. Use the 'scratch' memory for this allocation instead of the general purpose allocation. (check-in: 29887487 user: dan tags: trunk)
14:17
Fix up a branch in sqlite3ValueFromExpr() so that we can achieve full branch test coverage regardless of whether or not SQLITE_ENABLE_STAT2 is used. (check-in: af471ed7 user: drh tags: trunk)
12:52
Change the name of the shared-memory file on windows from *-wal-index to *-shm, for consistency with unix. (check-in: 5995cb15 user: drh tags: trunk)
11:35
Modify the merge-sort in wal.c so that it does not use recursion. (check-in: daea6c05 user: dan tags: trunk)
2010-06-24
19:16
Add test cases to pager1.test and pagerfault.test. (check-in: 4941e437 user: dan tags: trunk)
18:36
Revert to allowing a cache spill during writes of multiple pages within a single sector as long as the spill does not require a journal sync and a new journal header. (check-in: 7d83fbae user: drh tags: trunk)
17:37
Modify ctime.test to work with SQLITE_THREADSAFE=2. (check-in: c6db3b30 user: dan tags: trunk)
14:52
Disable memory-pressure induced cache spill during savepoint rollback. (check-in: a55eb4c3 user: drh tags: trunk)
13:24
Add a coverage test to pagerfault.test. (check-in: b58db67e user: dan tags: trunk)
10:50
Add coverage tests. Remove a NEVER macro from pager.c, as the condition can now be true in wal mode. (check-in: 7aac9ad6 user: dan tags: trunk)
02:46
Make sure the wal-index reader detects an incorrect version number even if it had to hold a lock in order to read the wal-index. Also, expand and enhance various comments in wal.c. (check-in: 2e6a462c user: drh tags: trunk)
2010-06-23
22:00
Fix and/or improve comments in wal.c. No code changes. (check-in: ee9991be user: drh tags: trunk)
19:27
Add test case for SQLITE_FULL errors to pagerfault.test. Remove a NEVER macro in pager.c that this hits. (check-in: 3e9680c4 user: dan tags: trunk)
17:59
Include the SOURCE_ID value in the log messages output for corruption, misuse, and CANTOPEN errors. (check-in: 1727a81f user: drh tags: trunk)
17:58
Adjust the shared-memory locking range to account for the new version number values in the wal-index header. (check-in: a6dc0df3 user: drh tags: trunk)
15:55
Add a version number to the wal-index header. If SQLite encounters a version number in either the wal or wal-index files that it does not understand, the operation is abandoned and SQLITE_CANTOPEN returned. (check-in: 8d0f8a7f user: dan tags: trunk)
15:18
Fix the xCurrentTimeInt64 interface on windows. It was off by a factor of 10. (check-in: 51ef43b9 user: drh tags: trunk)
15:04
Simplifications to the pager_delmaster() implementation. (check-in: 8bfbdec6 user: drh tags: trunk)
2010-06-22
21:15
Disable code used only by the codec when the codec is not deployed. (check-in: 2c90276e user: drh tags: trunk)
15:18
Add codec support to wal mode. (check-in: 393741eb user: dan tags: trunk)
14:49
When trying to transition from journal_mode MEMORY to WAL, use OFF as an intermediate journal mode. (check-in: 4775b8f9 user: drh tags: trunk)
13:46
Some changes to test scripts related to codec enabled versions of sqlite. (check-in: 85dd51a7 user: dan tags: trunk)
11:10
Fix problem with handling of -vfs option in tcl interface. (check-in: 8f98e8b5 user: dan tags: trunk)
2010-06-21
21:45
Minor tweaks to get the pager working for corner cases when the SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag is set. (check-in: 82b38fca user: drh tags: trunk)
20:19
Fix comment inside the pager_unlock() routine. Always close the master journal file before trying to delete it. (check-in: f820b815 user: drh tags: trunk)
18:29
Add test cases to pager1.test and pager2.test. (check-in: cc9ddae6 user: dan tags: trunk)
12:47
Merge the experimental UNDELETABLE_WHEN_OPEN optimization into the trunk. (check-in: ee0acef1 user: drh tags: trunk)
12:34
Change things so that journal2.test works with ENABLE_ATOMIC_WRITE. (Closed-Leaf check-in: a64d96db user: dan tags: experimental)
07:45
Add further pager tests. (check-in: 4104b175 user: dan tags: experimental)
06:00
Merge latest trunk change. (check-in: f6d26e07 user: dan tags: experimental)
05:40
Fix jrnlmode2.test so that it works on systems where UNDELETABLE_WHEN_OPEN is defined. (check-in: 59be370e user: dan tags: experimental)
2010-06-19
23:53
Fix an uninitialized variable in os_unix.c. (check-in: 822a0283 user: drh tags: trunk)
19:06
Fix an assert() failure that could occur if compiling with OMIT_SHARED_CACHE. (check-in: 3e76a9f2 user: dan tags: experimental)
18:12
Change the name of IOCAP_SAFE_DELETE to IOCAP_UNDELETABLE_WHEN_OPEN. Have the xDeviceCharacteristics() method of the win32 VFS return this flag. (check-in: 5a5ff4e3 user: dan tags: experimental)
17:26
Add tests to pager1.test and pagerfault.test. (check-in: f5df83fd user: dan tags: experimental)
15:10
Change the unix VFS to always allocate shared-memory using a file in the same directory as the database. Otherwise, a chroot might cause different processes to use different shared memory files resulting in database corruption. (check-in: 2241788b user: drh tags: trunk)
11:30
Add tests to pager1.test and pagerfault.test. (check-in: 58c0b5bf user: dan tags: experimental)
2010-06-18
18:59
Add tests to pager1.test. (check-in: 582fca89 user: dan tags: experimental)
16:13
Rearrange some code in OP_JournalMode to avoid incorrect returns from subsequent invocations of "PRAGMA journal_mode" following an IO error. (check-in: ce0a4a9b user: dan tags: experimental)
11:10
Change the implementation of the unix implementation of xAccess() so that it returns 0 (does not exist) to an SQLITE_ACCESS_EXISTS query on a file that exists but is zero bytes in size. (check-in: 077b0e5b user: dan tags: experimental)
2010-06-17
17:05
Apply [b9b11855e8] (the alternate fix to [fc62af4523]) to the trunk. (check-in: 9a949a3a user: dan tags: trunk)
16:44
Merge trunk change [7c3a86b9c7]. (check-in: bd7bc4e0 user: dan tags: experimental)
16:44
A different fix to [fc62af4523]. When changing from journal_mode=PERSIST or TRINCATE to some other rollback mode, delete the journal file only if a RESERVED lock can be obtained on the database file first. (check-in: b9b11855 user: dan tags: experimental)
16:08
Fix the tkt-fc62af4523.test to work around non-randomness of the randomblob() function when in testing mode. (check-in: 7c3a86b9 user: drh tags: trunk)
11:36
Fix bug in journal2.test. (check-in: c1e04f1d user: dan tags: experimental)
10:52
Merge trunk updates with experimental branch. Also add tests to journal2.test. (check-in: 9f6ea1de user: dan tags: experimental)
10:42
Do not delete the journal file in "PRAGMA journal_mode" commands. This fixes [fc62af4523]. (check-in: 1ec74591 user: dan tags: trunk)
10:24
Add test case for [fc62af4523]. (check-in: cccd32c6 user: dan tags: trunk)
06:19
Merge fix [f80c3f922a] with experimental changes. (check-in: 20133e9c user: dan tags: experimental)
02:13
Bug fix: Only trust the database size number at offset 28 if the change counter at offset 24 matches the version number counter at offset 92. This prevents corruption in the case of two applications writing to the database where one is an older version of SQLite and the other is a newer version. (check-in: f80c3f92 user: drh tags: trunk)
2010-06-16
19:48
Merge in changes up to and including the 3.6.23.1 release. (check-in: 21ca87f6 user: drh tags: apple-osx)
19:04
Experimental change: On systems where it is not possible to unlink a file while one or more processes has it open (i.e. not unix), avoid closing the journal file each time the database is unlocked and reopening it at the start of each transaction. (check-in: bede8c8a user: dan tags: experimental)
12:30
Add extra test cases to pager1.test. (check-in: ad320957 user: dan tags: trunk)
10:55
Fix a memory leak that can occur in os_unix.c if an IO error occurs within the xUnlock method. (check-in: 6c5c04ee user: dan tags: trunk)
2010-06-15
19:07
Rationalize a common pattern in tcl test cases into proc do_multiclient_test. (check-in: efe44564 user: dan tags: trunk)
18:00
Fix a problem introduced into lock2.test by the previous commit. (check-in: c1c9f6fa user: dan tags: trunk)
17:44
Add test file pager1.test, containing tests of inter-process locking in non-wal mode. (check-in: 6e43eed9 user: dan tags: trunk)
14:21
Run extra iterations in wal3.test to ensure test coverage. (check-in: ea80cbe5 user: dan tags: trunk)
14:06
Merge in [2c5e48a485]. Merge in [2c5e48a485]. Merge in [2c5e48a485]. (check-in: 03c0f4fd user: dan tags: trunk)
13:56
Changes to the way tcl test scripts work. No changes to production code. (Closed-Leaf check-in: 2c5e48a4 user: dan tags: experimental)
12:09
Minor tweaks to the interface documentation - adding hyperlinks. (check-in: 07b2fdd1 user: drh tags: trunk)
11:21
Updates to comments and testcase() macros in wal.c. (check-in: 4d90cc0b user: drh tags: trunk)
2010-06-14
18:06
Fix an error in the walfault.test script introduced by the previous check-in. (check-in: a2b9374f user: drh tags: trunk)
18:01
Move the xShmMap method to in between xShmLock and xShmBarrier, since it seems to fit in there logically. (check-in: 58dfd83d user: drh tags: trunk)
17:09
Merge the experimental shared-memory mmap-by-chunk changes into the trunk. (check-in: f295e7ed user: drh tags: trunk)
16:16
Add the new xShmMap (formerly xShmPage) to os_win.c. (check-in: 13e7a824 user: dan tags: experimental)
14:07
Remove xShmGet/Size/Release from the sqlite3_vfs structure. Change the name of xShmPage to xShmMap. Remove some code that is now unused from os_unix.c and some of the test VFS implementations. (check-in: fc0cabc1 user: dan tags: experimental)
11:49
Update some comments in wal.c. No code changes. (check-in: 1ce9c92b user: dan tags: experimental)
11:18
Change the interface to internal function walGetHash() to make it easier to follow. (check-in: 5e8e2e97 user: dan tags: experimental)
10:30
Add the xShmPage method to the "crash" vfs in test6.c. (check-in: 1008f536 user: dan tags: experimental)
07:53
Add some fault-injection tests to improve coverage. (check-in: 37b26d12 user: dan tags: experimental)
2010-06-12
12:02
Fix some problems with handling IO errors on the experimental branch. (check-in: eade8bc2 user: dan tags: experimental)
2010-06-11
19:04
Experimental change to the xShmXXX parts of the VFS interface. (check-in: ca68472d user: dan tags: experimental)
17:01
Refactor and simplify the logic used to change journalmode. (check-in: 95cc3f6f user: drh tags: trunk)
2010-06-10
16:25
Adding original art for the new SQLite logo. (check-in: af353bd8 user: drh tags: trunk)
14:07
Add the SQLITE_TESTCTRL_PGHDRSZ verb for sqlite3_test_control() used to get the size of pcache headers for testing purposes. (check-in: 5d694f04 user: drh tags: trunk)
10:51
Update the test VFS in test_journal.c so that it implements the xCurrentTimeInt64 method. (check-in: ec3b4a7e user: drh tags: trunk)
06:53
Store the MemPage structure in memory following, instead of preceding, the page data for cached pages. This reduces the likelihood of a corrupt database page image causing SQLite to read past the end of a buffer. (check-in: 0ce42e76 user: dan tags: trunk)
01:07
Remove a condition that must always be true. Replace it with an assert(). (check-in: 7abcd54e user: drh tags: trunk)
2010-06-09
19:01
Fix test script problems causing errors in the "inmemory_journal" permutations. (check-in: ea05b7f9 user: dan tags: trunk)
16:58
When restarting (wrapping) a log file, set all unused aReadMark[] slots to READMARK_NOT_USED instead of 0. Setting them to 0 does not cause a problem, but may cause SQLite to obtain and release a few more file locks than would otherwise be necessary. (check-in: 0797b10c user: dan tags: trunk)
15:47
Fix for ticket [f973c7ac31]. (check-in: 6eb058dd user: dan tags: trunk)
14:45
Shift the meaning of aReadMark[] back so that +1 offset from mxFrame is removed. Add the new READMARK_NOT_USED value (0xffffffff) instead of zero to signal an aReadMark[] that is not in use. (check-in: c576827d user: drh tags: trunk)
11:28
Simpler fix for the race condition also fixed by [7c102c7b5f] (check-in: 3c2de820 user: dan tags: trunk)
11:02
Fix for race condition in WAL locking code. (Closed-Leaf check-in: 7c102c7b user: dan tags: mistake)
2010-06-08
15:50
Close database opened by tester.tcl when it is sourced in all.test. Because test scripts are now run in slave interpreters, this connection was not being closed by the first script run as it was previously. (check-in: b072e9f6 user: dan tags: trunk)
15:16
Changes to wal3.test to support small default cache size settings. And builds that create autovacuum databases by default. (check-in: ac4cc257 user: dan tags: trunk)
2010-06-07
19:26
In os_unix.c, call munmap() to unmap a shared-memory region prior to closing the associated file descriptor. (check-in: 95cc976f user: dan tags: trunk)
17:47
Change all.test, quick.test and permutations.test so that they use a separate interpreter for each test file. (check-in: 7c33eb5a user: dan tags: trunk)
14:28
Refactor some of the global variables and commands used by tester.tcl. (check-in: c2edf8e1 user: dan tags: trunk)
06:11
Add a couple of extra coverage tests for wal.c. (check-in: cfe60254 user: dan tags: trunk)
2010-06-05
19:18
Add further test cases for the logic in sqlite3WalBeginReadTransaction(). (check-in: a49713db user: dan tags: trunk)
18:34
Clarify the purpose of a test for a race-condition in sqlite3WalBeginReadTransaction(). (check-in: c041c6a9 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: 39420473 user: dan tags: trunk)
14:42
Mark a condition in wal.c as ALWAYS(). (check-in: 3fe0cc78 user: dan tags: trunk)
11:53
Add extra coverage test cases for wal.c. No changes to production code. (check-in: f9d4ae0e user: dan tags: trunk)
2010-06-04
18:38
Clarify an assert in sqlite3WalExclusiveMode(). (check-in: 25585069 user: dan tags: trunk)
17:16
Remove an unnecessary branch from wal.c. (check-in: 8e54786c user: dan tags: trunk)
15:59
Add an English language error message to corresponding to SQLITE_PROTOCOL. "locking protocol". (check-in: ca327e32 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: 157feba1 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: b813233d 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: 02c4040c user: dan tags: trunk)
2010-06-03
19:10
Fix another problem in test_vfs.c. (check-in: df7d5989 user: dan tags: trunk)
18:20
Have test_vfs.c simulate IO errors in xShmLock. (check-in: fcbf7cf1 user: dan tags: trunk)
18:02
Performance fix for winShmClose(). (check-in: ed7774de user: drh tags: trunk)
16:58
Add extra tests for removing elements from wal-index hash tables as part of a rollback. (check-in: af3e598a user: dan tags: trunk)
12:35
Delay opening the sub-journal until SQLite actually needs to write data to it. (check-in: c43deb33 user: dan tags: trunk)
12:09
Remove global variables when compiled with SQLITE_OMIT_WSD (check-in: dd10a547 user: drh tags: trunk)
09:25
Enhancements to test_vfs.c and walfault.test. (check-in: ac0de2f3 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: eb80ddc6 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: 91cb08ff 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: c6eb0a27 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: 6b4aed6a 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: cb571c1b user: dan tags: trunk)
16:40
Added implementation of vfslog_time() for Windows testing. (check-in: b3109f85 user: shaneh tags: trunk)
16:39
Updated wal2.test for windows testing. (check-in: c3606f39 user: shaneh tags: trunk)
15:59
Make sure the directory used by os_unix.c for shared-memory files is always the same, regardless of individual client permissions and environment variable settings. (check-in: f97bd520 user: drh tags: trunk)
15:43
When walTryBeginRead() encounters an I/O error trying to set a lock (as opposed to SQLITE_BUSY) be sure to propagate that error back up the call stack. (check-in: aa2c2b67 user: drh tags: trunk)
14:45
Changes to make WAL more robust against SHM locking failures and OOM errors. (check-in: ebf40413 user: drh tags: trunk)
14:43
In the rowhash.test, make sure global variables are cleared prior to use. (check-in: 28efe0a4 user: drh tags: trunk)
12:58
Undo one of the "const" markers from the previous check-in because the value needs to be changable, even if it is not actually ever changed in the current implementation. (check-in: c24ac356 user: drh tags: trunk)
05:53
Add some 'const' markers to static data that is really constant. (check-in: e7073e23 user: dan tags: trunk)
2010-06-01
21:02
The shared-memory used by WAL on linux now really is shared memory in /dev/shm. On other unix flavors, the file is in a temporary directory rather than in the same directory as the database. (check-in: fc18c4aa user: drh tags: trunk)
19:15
Changes to the way faults are injected into xShmXXX VFS calls. (check-in: 716d99f3 user: dan tags: trunk)
17:46
Change the OOM and IO error test cases in walfault.test so that each test case runs both types of error simulation. (check-in: b627e153 user: dan tags: trunk)
15:44
Delay the decision to restart the log file until data is actually ready to be written to the log file (instead of at the start of a write transaction). (check-in: b1abfaaf user: dan tags: trunk)
15:24
The incremental checkpoint feature is not perfect yet, but it is working well enough to merge it into the trunk. (check-in: 1d3e569e user: drh tags: trunk)
14:30
Merge with [15abbc3416]. (Closed-Leaf check-in: f4b9003a user: dan tags: wal-incr-ckpt)
14:12
If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level. (check-in: ce644965 user: dan tags: wal-incr-ckpt)
13:17
Fix a bug introduced by the previous check-in but only seen if SQLITE_ENABLE_EXPENSIVE_ASSERTS is turned on. (check-in: 9c9ec899 user: drh tags: wal-incr-ckpt)
12:58
Fix an off-by-one boundary-value issue in walCleanupHash(). (check-in: f039552e user: drh tags: wal-incr-ckpt)
11:08
Do not hold the shared-memory mutex in os_unix.c if returning NULL. (check-in: 9622dd46 user: dan tags: wal-incr-ckpt)
10:44
If the checkpoint fails to obtain an exclusive lock on one of the read-lock bytes, do not consider this an error. (check-in: 9e95e357 user: dan tags: wal-incr-ckpt)
07:51
Fixes to the test cases in wal2.test. (check-in: cd5fbcbc user: dan tags: wal-incr-ckpt)
01:08
Comment edits and cleanup in wal.c. No functional code changes. (check-in: e8e666ab user: drh tags: wal-incr-ckpt)
00:28
Attempt to get the filectrl.test script running. (check-in: e46a8f2b user: drh tags: wal-incr-ckpt)
00:03
Fix os_unix.c so that it will compile and build on a Mac. (check-in: bc707c83 user: drh tags: wal-incr-ckpt)
2010-05-31
20:28
Fix issues with locking_mode=EXCLUSIVE in WAL. (check-in: 8deba0ce user: drh tags: wal-incr-ckpt)
18:24
Add an "isInit" field in the wal-index header that must be non-zero for a valid header. Use this to detect an uninitialized wal-index. (check-in: a16fde19 user: drh tags: wal-incr-ckpt)
16:56
Fix an inconsistent #ifdef in wal.c. Fix os_unix.c so that it does not allow moving an SHM lock directly exclusive to shared without going through unlocked. (check-in: 552658da user: drh tags: wal-incr-ckpt)
16:41
Avoid dropping the checkpoint lock after a recovery run as a precursor to a checkpoint operation. (check-in: cc25cfa0 user: dan tags: wal-incr-ckpt)
16:17
Zero the checkpoint header as the last step of successful WAL recovery. Avoid an unnecessary lock/unlock in WalBeginReadTransaction. (check-in: db3509c5 user: dan tags: wal-incr-ckpt)
16:10
Get the new xShmLock interface design working on os_win.c. (check-in: 149a7082 user: drh tags: wal-incr-ckpt)
14:39
Make sure WAL alway requests enough shared-memory space. (check-in: 138f1283 user: drh tags: wal-incr-ckpt)
14:28
Remove the tests that enable tracing based on the existance of the "vdbe_*" files when in SQLITE_DEBUG mode. (check-in: cdbb4e7c user: drh tags: wal-incr-ckpt)
14:18
Update another test case in wal.test. (check-in: 99fde69e user: dan tags: wal-incr-ckpt)
13:11
Change WAL test cases to account for the improved concurrency in the new checkpoint logic. (check-in: 2d6f2485 user: drh tags: wal-incr-ckpt)
12:30
Do not fail a checkpoint just because active readers prevent backfill. (check-in: 9aa4243e user: drh tags: wal-incr-ckpt)
12:15
Add WALTRACE() macros to help with debugging and analysis. (check-in: 765c3318 user: drh tags: wal-incr-ckpt)
12:02
Another minor fix to checkpoint on the WAL branch. (check-in: 853f1e3f user: dan tags: wal-incr-ckpt)
11:39
Fix a bug in checkpoint introduced by [181ceb32ea]. (check-in: b499dbc8 user: dan tags: wal-incr-ckpt)
11:16
Fix some asserts and other things in the new WAL branch. (check-in: 181ceb32 user: dan tags: wal-incr-ckpt)
06:38
Changes to the way one of the WAL/OOM tests works. (check-in: 15abbc34 user: dan tags: trunk)
01:41
WAL runs but quickly deadlocks. (check-in: ace58acb user: drh tags: wal-incr-ckpt)
2010-05-30
19:55
Initial code for incremental checkpoint in WAL mode. This check-in compiles on unix and runs as long as you do not engage WAL mode. WAL mode crashes and burns. Consider this check-in a baseline implementation for getting the new capability up and running. (check-in: ef3ba7a1 user: drh tags: wal-incr-ckpt)
2010-05-29
08:40
Add tests to fkey2.test to check that ON CONFLICT clauses do not affect SQLite's behaviour when an FK constraint is violated. (check-in: e9e5b100 user: dan tags: trunk)
06:18
Minor changes to checksum related test cases. (check-in: 60c22bde user: dan tags: trunk)
2010-05-28
11:16
Add a test to walcksum.test to stress the checksum calculation. (check-in: 778d0c17 user: dan tags: trunk)
2010-05-26
17:31
Make sure the wal-index mapping is always large enough to cover the entire active area of the wal-index. (check-in: 42705bab user: drh tags: trunk)
15:06
Change the semantics of xShmGet() such that it will never increase the size of shared memory. xShmSize() must be used to grow the size of shared memory. A shared memory segment size cannot be shrunk (except by dropping it). (check-in: 72de0073 user: drh tags: trunk)
2010-05-25
15:53
Updated header comments in wal.c. No functional code changes. (check-in: 687632a6 user: drh tags: trunk)
15:23
Add a busy-handler to a test case in walthread.test to prevent errors. (check-in: d3d348aa user: dan tags: trunk)
13:49
Modify walcrash2.test so that it works with DEFAULT_AUTOVACUUM=1. (check-in: 77438882 user: dan tags: trunk)
13:40
Update header comments in wal.c to correctly describe the WAL file format. Update the locking region offsets in os_unix.c and os_win.c and add assert() statement to verify that the locking region offsets are correct. (check-in: 40030c07 user: drh tags: trunk)
10:50
If a writer exits unexpectedly in the middle of a transaction, have the following writer remove any wal-index hash-table entries left by the interrupted transaction. (check-in: ed77556a user: dan tags: trunk)
02:24
Remove unreachable code associated with WAL from the pager. (check-in: 54c1718e user: drh tags: trunk)
2010-05-24
20:27
OOM errors during an auto-checkpoint are benign. (check-in: 3d252ce5 user: drh tags: trunk)
20:24
Remove the walmode.test case from the inmemory_journal test of permutations.test. (check-in: 27ba9c21 user: drh tags: trunk)
17:00
Fix the wal2.test script so that it works in auto_vacuum mode. (check-in: 6a818afb user: drh tags: trunk)
13:57
Change the checksum used in WAL files so that each frames checksum depends on the content of the WAL header and all frame headers and content up to and including the frame to which the checksum is attached. (check-in: 8a53f12c user: dan tags: trunk)
13:28
Make sure a WAL frame of all zeros is detected as an invalid frame. (check-in: 02d99ad4 user: drh tags: trunk)
12:34
Fix up test_osinst.c to work with SQLITE_OMIT_VIRTUALTABLE. (check-in: 51fd3815 user: drh tags: trunk)
10:39
Change the WAL file format to support two kinds of checksums - one that is fast to calculate on little-endian architectures and another that is fast on big-endian architectures. A flag in the wal-header indicates which the file uses. (check-in: 65ba804d user: dan tags: trunk)
2010-05-22
08:22
Add a couple of missing methods to test_osinst.c.. (check-in: 5c9e9c06 user: dan tags: trunk)
00:55
Add several EXPENSIVE_ASSERT code blocks to validate the wal-index hash table. Fix the bugs that these code blocks fine. Rename walClearHash() to walCleanupHash() and simplify its interface. (check-in: 7aade899 user: drh tags: trunk)
2010-05-21
19:15
Fix another bug in walClearHash(). (check-in: 40f80ffe user: dan tags: trunk)
18:24
Comment out the SQLITE_FCNTL_SIZE_HINT from os_unix.c since it does not seem to provide any performance gain there. (check-in: 7d01309d user: drh tags: trunk)
16:23
Correct an off-by-one bug in the previous commit. (check-in: 75a1130d user: dan tags: trunk)
15:31
Remove entries from wal-index hash tables when a rollback or savepoint rollback occurs. (check-in: 36795c2b user: dan tags: trunk)
13:16
Fix the wal-index header read routine so that it correctly detects a zero header as being malformed and in need of a wal-index rebuild. (check-in: 1a4eb3a3 user: drh tags: trunk)
2010-05-20
23:51
Add a new xShmBarrier method to the VFS - a shared-memory fence operation. Implement the same in both unix and win32. Use it to make the WAL subsystem more robust. (check-in: 1bd011c9 user: drh tags: trunk)
21:21
Make use of the extra information in the WAL header and frame header to enhance robustness. (check-in: 9580ecb7 user: drh tags: trunk)
16:45
Convert the wal-header and frame-header to 24 bytes. Extra information in both headers is designed to enhance robustness after crashes, though the extra information is currently unused. This is a snapshot of a work in progress. (check-in: 66970643 user: drh tags: trunk)
2010-05-19
23:41
Merge WIN32 WAL support into trunk. Still some issues with locking to resolve. (check-in: 43377663 user: shaneh tags: trunk)
22:09
Cherry-pick the SQLITE_FCNTL_SIZE_HINT patch (check-in [2b7e3b4a30d6a7c4a8] and bump the version number to 3.6.23.2. (check-in: 776679af user: drh tags: branch-3.6.23)
20:30
Disable the corruptE test which SQLITE_OVERSIZE_CELL_CHECK is enabled. This is a cherrypick merge from check-in [1dc4f9fe9b83467ba]. (check-in: a40d080c user: drh tags: branch-3.6.23)
19:39
Add the SQLITE_FCNTL_SIZE_HINT to the os_win.c VFS. (check-in: 9894118d user: drh tags: trunk)
19:26
Add the SQLITE_FCNTL_SIZE_HINT operator to sqlite3_file_control() and use it to give the VFS hints about the ultimate size of a database file when the file is growing. (check-in: 2b7e3b4a user: drh tags: trunk)
19:09
Fix a bug in the new checkpoint computation. Also update the checkpoint algorithm in the test scripts to align with the new implementation. (check-in: 8b6056f2 user: drh tags: trunk)
18:08
Revise the checksumming algorithm in wal.c. More variable refactoring. (check-in: 542b90eb user: drh tags: trunk)
17:49
Refactoring some variable names in wal.c. (check-in: 1d201ff5 user: drh tags: trunk)
01:53
Add a large comment to wal.c describing the WAL and wal-index file formats. (check-in: a71a22b5 user: drh tags: trunk)
2010-05-18
23:29
Update the wal-index hash format so that hash-table space is reused following a rollback, thus preventing hash table overflows. Add assert()s to verify that hash tables do not overfill. Further refactoring of the wal-index code. (check-in: ada9a8c7 user: drh tags: trunk)
18:01
Refactoring of the WalIterator implementation. (check-in: b5b60fdc user: drh tags: trunk)
13:27
Mark the shared-memory in the WAL implementation as volatile. (check-in: 0a678790 user: drh tags: trunk)
12:56
Comment clarifications in wal.c. (check-in: a029be10 user: drh tags: trunk)
12:37
Keep additional state information in the pager in an effort to reduce the number of SQLITE_FCNTL_SIZE_HINTs. (Note: This change was found to make no performance difference and so has been moved onto a side branch. Use the parent check-in instead of this one.) (Closed-Leaf check-in: 97d88a86 user: drh tags: branch-3.6.1-exp)
2010-05-17
20:16
Remove an unreachable test from wal.c. (check-in: 7162c456 user: drh tags: trunk)
15:52
An improvement to the SQLITE_FCNTL_SIZE_HINT change that invokes the hint less often and only when really needed. (check-in: a1d20ceb user: drh tags: branch-3.6.1)
15:33
Invoke the SQLITE_FCNTL_SIZE_HINT opcode on the sqlite3_file_control() interface for database files before extending the size of the file. The VFS can use this hint to preallocate space. (check-in: 9a083711 user: drh tags: branch-3.6.1)
2010-05-15
10:24
Add a note to the documentation of sqlite3_wal_hook() to say not to return SQLITE_ROW or SQLITE_DONE. Or any other value that is not a valid SQLite error code. (check-in: 2f0b6cbf user: dan tags: trunk)
01:09
Silently ignore errors trying to set the default journal_mode while doing an ATTACH. (check-in: b9af4ad2 user: drh tags: trunk)
2010-05-14
20:15
Fix a typo that (by bad luck) was not a syntax error but which caused some important lines of code to be skipped when SQLITE_DEBUG was not used. (check-in: 9ef99d97 user: drh tags: trunk)
19:24
Make sure the value of an INTEGER PRIMARY KEY column supplied to triggers and especially to FK constraints really contains the ROWID and not the NULL that is stored in the column itself. Ticket [dd08e5a988d00dec]. (check-in: 636f8609 user: drh tags: trunk)
16:34
Pull in all the latest changes from the trunk. Update the win32 SHM methods to work with the new interface design. (Closed-Leaf check-in: 4b69f2cd user: drh tags: wal-win32)
14:52
Simplifications to the SHM implementation in os_unix.c, taking advantage of the removal of the LinuxThreads mess. (check-in: d1debe5d user: drh tags: trunk)
12:43
Simplify os_unix.c by removing support for LinuxThreads. Linux systems must either use NPTL or else not share database connections across threads. (check-in: e294b696 user: drh tags: trunk)
11:30
Change the OSTRACEn() macro to OSTRACE(()). Also rename some internal fields and variables in os_unix.c to be more meaningful and searchable. (check-in: 5fe529f2 user: drh tags: trunk)
10:43
Fix test_osinst.c so that it does not depend on gettimeofday() unless SQLITE_OS_UNIX is defined and NO_GETTOD is not defined. (check-in: 2a4014b7 user: dan tags: trunk)
08:39
Add xShmXXX methods to test_osinst.c. (check-in: b8a9b37a user: dan tags: trunk)
2010-05-13
20:19
Make debugging elements of the sqlite3_mutex object volatile and make them only appear when compiling with SQLITE_DEBUG. Ticket [51914f6acd2cb462]. (check-in: e823c60c user: drh tags: trunk)
15:44
Allow sqlite3WalCheckpoint() to be called even if the WAL is in the SQLITE_SHM_READ state, as sometimes happens after an error. (check-in: 175b296f user: drh tags: trunk)
09:40
Remerge mistaken test_osinst.c changes. (check-in: e8c10d3c user: dan tags: trunk)
09:32
Fix mistake in test_osinst.c. (Closed-Leaf check-in: 4c3e1378 user: dan tags: mistake)
09:11
Make sure xShmGet is never called while already holding the shared-memory segment. (check-in: 92ebdbc5 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: bce21c18 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: 149d2ae4 user: drh tags: wal-refactor)
07:08
Fix for a segfault that can follow a malloc failure. (check-in: 3cab9022 user: dan tags: wal-refactor)
06:19
Modify the VFS in test_vfs.c to match the refactoring of the xShmXXX methods. (check-in: 25e72f81 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: ee13c884 user: dan tags: mistake)
18:30
Fix for the test_devsym.c test module for the VFS-SHM refactoring. (check-in: 49d62933 user: drh tags: wal-refactor)
18:10
A couple simple fixes to get wal.test mostly working. (check-in: c7445812 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: 2b00152c 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: 76504726 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: 7838163d user: drh tags: trunk)
06:54
Remove a branch made redundant by the earlier exclusive-mode changes. (check-in: c501b2ed 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: 885e854e 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: cf3d1e0b user: drh tags: trunk)
12:19
Changes so that WAL and exclusive-locking mode work together. (check-in: 71e7b1cf user: dan tags: trunk)
02:49
Initial port of WAL VFS support from os_unix.c to os_win.c. (check-in: 111ad59f user: shaneh tags: wal-win32)
02:46
Updates to WAL TCL test scripts to support running on Windows. (check-in: 6a563080 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: 6e3735f7 user: drh tags: trunk)
18:10
Merge [96d6eaf4d2] and [40b0a6357b]. (check-in: c67756c4 user: dan tags: trunk)
17:29
Fix an uninitialized variable in OSX proxy locking. (check-in: 96d6eaf4 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: 40b0a635 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: 6ecdc7ba 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: 0bdea4cf 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: be114bdf 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: a65c2939 user: drh tags: trunk)
18:23
Additional tweaks to API documentation. No functional code changes. (check-in: e1230782 user: drh tags: trunk)
13:57
Updates to documentation on the C interfaces supporting WAL. No functional changes to code. (check-in: 681ba20c user: drh tags: trunk)
13:52
Fix a recently introduced problem in wal.test. (check-in: 79b52d0f user: dan tags: trunk)
12:49
Change wal.test and walhook.test so that they work with DEFAULT_AUTOVACUUM=1 builds. (check-in: 4cde9290 user: dan tags: trunk)
09:43
Test another IO error case in wal.c. (check-in: 8b3b5ab8 user: dan tags: trunk)
06:59
Fix a problem with checkpointing large log files created by an external process. (check-in: 8f94bde5 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: 061a282c user: dan tags: trunk)
00:28
Another attempt to fix permutations.test so that it excludes WAL tests from the journaltest permutation. (check-in: 58c40442 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: 811b45a9 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: c3520460 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: c1762dda user: drh tags: trunk)
19:55
Exclude all WAL tests from the journaltest permutation. (check-in: 46c97d7e user: drh tags: trunk)
19:20
Changes to support SQLITE_OMIT_WAL. (check-in: 32a8501d user: shaneh tags: trunk)
19:04
Updates to the VFS SHM locking documentation. (check-in: 9927ce42 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: bb0b6021 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: dc98ee16 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: 637f51dd 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: d0c0034b 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: 56a17dae user: drh tags: trunk)
15:56
Further coverage tests. (check-in: 98a9713e user: dan tags: trunk)
15:36
Update configure scripts for WAL support. (check-in: 2edc5129 user: shaneh tags: trunk)
14:42
Add tests to cover a couple of branches in wal.c. (check-in: 429f437f user: dan tags: trunk)
13:36
Unset a tcl variable before reusing it in wal.test. (check-in: e83efb23 user: dan tags: trunk)
12:15
Add tests for some lock-contention cases. (check-in: f0fcb9c9 user: dan tags: trunk)
11:56
Remove the noop-mutex implementations of mutex_held() and mutex_notheld() since they are both unreachable. (check-in: 6767b62a user: drh tags: trunk)
11:55
Add two text files containing pager design notes to the doc/ subfolder. (check-in: ed817fc8 user: drh tags: trunk)
11:32
Add test cases to test the libraries handling of corrupt wal-index headers. (check-in: 9465b267 user: dan tags: trunk)
07:43
Add tests for handling errors returned by xShm VFS methods. (check-in: fbbcacb1 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: 1b14195e 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: e9bfa6e4 user: drh tags: trunk)
19:04
Test the handling of errors returned by the xShmXXX() APIs. (check-in: 72663123 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: ec715778 user: drh tags: trunk)
18:20
Simplifications to the SHM locking implementation in os_unix.c. (check-in: 9de05bfb 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: 7bd44794 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: 2ac5d96c 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: 208e7d5d user: drh tags: trunk)
03:39
Do not attempt to modify the page_size when running VACUUM on a WAL database. (check-in: 58a1a59b user: drh tags: trunk)
00:22
Get the previous mutex fix working with SQLITE_DEBUG and with the amalgamation. (check-in: df19928f 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: 451fd175 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: 4016b422 user: drh tags: trunk)
17:38
Be sure to release all wal-index locks before closing the wal-index. (check-in: b15b67fa user: drh tags: trunk)
17:20
Relax an over-zealous assert() in sqlite3WalUndo(). (check-in: 8f9d22d5 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: 1465d384 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: c2bf693f user: dan tags: trunk)
14:47
Fix problems with recovering wal files that use a page-size other than the default. (check-in: 1a391f3c user: dan tags: trunk)
11:06
Fix a typo in walfault.test. (check-in: 232dbe8e 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: a60104aa 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: 49bef00e 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: e7ded46b user: drh tags: trunk)
18:51
Documentation stubs for sqlite3_wal_autocheckpoint and sqlite3_wal_checkpoint. (check-in: 31376242 user: drh tags: trunk)
18:22
Fix a bug in the xCurrentTime() method of the os_unix.c VFS. (check-in: 551df11a user: drh tags: trunk)
18:01
Add a test to simulate an OOM during log recovery to walfault.test. (check-in: 7ed85e87 user: dan tags: trunk)
17:24
Clear global variable "seconds" before use in walthread.test. (check-in: a35551a5 user: drh tags: trunk)
17:18
Fix a couple of errors in WAL code that can occur in an OOM situation. (check-in: 9d3f3736 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: ea09ff37 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: 43b5b07f 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: 7fecd21f 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: ab77b3ae user: drh tags: trunk)
14:08
Merge the write-ahead-logging changes into the trunk. (check-in: de9ae443 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: 27a5c09c 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: 11a85b82 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: ff234cf5 user: dan tags: wal)
11:05
Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint". (check-in: 714e5947 user: dan tags: wal)
08:19
Merge two wal leaves. (check-in: 23c0e6c3 user: dan tags: wal)
08:04
Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs. (check-in: 9803196d 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: 94dea5f9 user: drh tags: wal)
18:23
Remove the xShmPush and xShmPull methods from the VFS. (check-in: 69e07fdb 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: 6af2dca7 user: drh tags: wal)
17:50
Rework mutexes on the SHM implemention for os_unix to avoid a deadlock during WAL recovery. (check-in: 1a0f69be user: drh tags: wal)
16:40
Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: 9b230c43 user: dan tags: wal)
11:33
Fix a typo in the walmode.test test script introducted yesterday. (check-in: dcabc90c 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: 64840a3c user: drh tags: wal)
08:30
Add test case demonstrating deadlock during recovery of very large log files. No fix yet. (check-in: 63ea318e user: dan tags: wal)
00:59
Do not allow journal_mode=WAL if the underlying VFS does not support xShmOpen. (check-in: d1fcccec user: drh tags: wal)
2010-04-30
22:28
Merge in changes from the trunk. (check-in: 76bf0eee user: drh tags: wal)
21:03
Avoid assertion faults in queries using indices with redundant columns. Ticket [3dbdcdb14e7f41]. (check-in: 946e06cd 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: 8660cda6 user: drh tags: wal)
17:28
Remove some obsolete debugging parameters. (check-in: a012aed4 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: 79d356fe user: dan tags: wal)
16:50
Fix a problem with calculating the required size of the wal-index when appending frames. (check-in: 9526b111 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: 2afc33de 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: 90119fec 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: 55f5af5e user: dan tags: wal)
16:24
Reapply commits [837d82a929] and [c05e7dca17] that were accidentally overwritten. (check-in: 598de527 user: dan tags: wal)
16:19
Add xShmXXX() methods to the test VFS in test_devsym.test. (check-in: 1d203424 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: d9250e84 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: 69567c5f 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: c05e7dca 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: 837d82a9 user: dan tags: wal)
14:39
Separate the concepts of underlying storage size and mapped size in the VFS shared-memory implementation. (check-in: 4cbe49f1 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: 1f9e8c5c user: dan tags: wal)
10:24
Fix an assert() in sqlite3WalRead(). (check-in: 2e7a0050 user: dan tags: wal)
10:06
Add missing mutexes to unixShmClose(). (check-in: a4741cb5 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: a8f958be user: dan tags: wal)
09:32
Add a missing walIndexUnmap() to sqlite3WalSnapshotOpen(). (check-in: 72b95fde user: dan tags: wal)
06:02
Merge latest bugfix into wal branch. (check-in: 265e66e6 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: f660be61 user: dan tags: trunk)
02:13
The first 6 WAL tests now work. It's a start. (check-in: a92c1851 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: 62db5fa3 user: drh tags: wal)
16:40
Untested implementation of the shared-memory dead-man-switch. (check-in: 70661128 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: 1bde41cf user: drh tags: wal)
14:58
Close all open database connections at the end of wal.test. (check-in: 3cc55a75 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: d1cadeed user: dan tags: wal)
08:47
Add tests to walthread.test. (check-in: 9e891e75 user: dan tags: wal)
2010-04-28
18:17
Add a test to walthread.test for changing between WAL and rollback modes. (check-in: da229e44 user: dan tags: wal)
17:49
Merge two "wal" leaves. (check-in: 13d2d5a6 user: dan tags: wal)
17:48
Change walthread.test so that tests can be run with either multiple threads or multiple processes. (check-in: 25f85f68 user: dan tags: wal)
17:21
Changes to the interface design for the xShmLock method of the VFS. (check-in: 348409de user: drh tags: wal)
14:42
Rename the sqlite3_log_hook() to sqlite3_wal_hook(). Added comments to wal.h. (check-in: bbc38511 user: drh tags: wal)
2010-04-27
18:49
Merge two "wal" leaves. (check-in: 8c2d43ba 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: be44349d user: dan tags: wal)
14:37
Fix a problem with identifying a corrupt database in WAL mode. (check-in: c8658da4 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: ed715b47 user: drh tags: wal)
06:49
Run trans.test and avtrans.test as part of the "wal" permutation. (check-in: c8893310 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: b51a5f8b user: dan tags: wal)
01:56
Merge in recent changes from the trunk (check-in: 7a0ac682 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: ca9d86ba user: drh tags: trunk)
17:42
Do not attempt to set journal_mode=wal on :memory: or temp file databases. (check-in: 30d01344 user: dan tags: wal)
17:36
Change the default_cache_size pragma to always store a positive value. (check-in: 36fb2cae user: drh tags: trunk)
17:30
Identify the SQLite version meta-value entry in the db-header output of showdb. (check-in: 245d934b user: drh tags: trunk)
16:57
Fixes for problems with small caches and SAVEPOINT rollback in WAL mode. (check-in: 6a944f02 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: 2ff824e5 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: 23eb408b 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: 205e5d8a 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: 3d159939 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: 56fe5d76 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: f5e615c2 user: drh tags: wal)
2010-04-25
20:58
Remove an unreachable branch from the function initialization logic. (check-in: 064d3ddd user: drh tags: trunk)
2010-04-24
19:07
Add comment explaining checksum mechanism. (check-in: 3e9ef515 user: dan tags: wal)
18:44
Fix bugs in WAL mode rollback. (check-in: 31215969 user: dan tags: wal)
14:33
Merge with [0291ed974d]. Merge with [0291ed974d]. Merge with [0291ed974d]. (check-in: a352f628 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: 0291ed97 user: drh tags: trunk)
04:53
Merge with [e79dac3c2f]. (check-in: 1e793d3a user: dan tags: wal)
04:49
Reserve some space at the start of the log-summary file to apply locks to. (check-in: a031aa1f user: dan tags: wal)
2010-04-23
19:15
Fixes and tests for backup of a WAL database. (check-in: 480d12db 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: e79dac3c user: shaneh tags: trunk)
11:44
Add very simple test cases for backup and VACUUM of WAL databases. More to come. (check-in: 1077d813 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: 5d6d4423 user: dan tags: wal)
06:27
Further tests and changes related to switching between WAL and rollback modes. (check-in: 12363184 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: 9f4f933f 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: 33cabf27 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: 278ed41e 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: 96bef18c user: dan tags: wal)
2010-04-19
18:03
Add the sqlite3_log_hook() interface for scheduling checkpoints. (check-in: 9bda6014 user: dan tags: wal)
2010-04-17
18:50
Add some comments regarding file-locks to log.c. (check-in: 9d51c3b7 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: 0ae91b00 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: 95ff76ef user: drh tags: experimental)
15:45
Merge with trunk commit [3e646e3f4c]. (check-in: 43463970 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: 9bc9b684 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: 3e646e3f user: drh tags: trunk)
12:31
Enhancements to wal-mode locking scheme. (check-in: 8549c286 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: c54e8dad 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: 9865d14d 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: 67d2a89e 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: f96782b3 user: drh tags: trunk)
16:45
Allow writers to write dirty pages to the log mid-transaction in order to free memory. (check-in: ecd828f9 user: dan tags: wal)
13:33
Merge two leaves on the WAL branch. (check-in: c9ed66cc user: dan tags: wal)
13:29
The query planner fix of check-in [33b1f584ef] should have been on the trunk. (check-in: f538d759 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: 33b1f584 user: drh tags: wal)
10:58
Change the way checksums are calculated. (check-in: 84955c2e user: dan tags: wal)
02:37
Bring over the recent query planner enhancements from the trunk. (check-in: 82969f27 user: drh tags: wal)
01:04
Further refinements to table order selection on join query planning. (check-in: defaf0d9 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: b87cb0c2 user: drh tags: trunk)
18:50
Add tests and fix bugs in WAL locking mechanism. (check-in: c18077f2 user: dan tags: wal)
18:06
Add tests to check inter-process WAL locking. (check-in: 9435f313 user: dan tags: wal)
15:49
Improve the logLockRegion() function in log.c. (check-in: 5e9dd3bd user: dan tags: wal)
11:23
Fixes for locking issues in WAL mode. (check-in: a9617eff user: dan tags: wal)
2010-04-13
19:27
Add experimental locking scheme. (check-in: 3f958e87 user: dan tags: wal)
15:30
Fix an uninitialized variable in readDbPage of pager.c. (check-in: f4e1150f user: drh tags: wal)
11:56
Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint". (check-in: 27dc5977 user: dan tags: wal)
11:45
Fix other problems in the WAL test scripts. (check-in: dcb31181 user: dan tags: wal)
11:35
Fix test script issues preventing walthread.test from running. (check-in: d90b1dde user: dan tags: wal)
11:18
Fix a pager bug introduced by the wal code. (check-in: 4a0b29dc user: dan tags: wal)
06:20
Sync wal branch with [012cf101bf]. (check-in: 9d690f24 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: 012cf101 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: e7e7127f 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: 1f2cb940 user: drh tags: trunk)
19:43
Clear a global variable in e_fts3.test before it is used. (check-in: ae89dfd2 user: drh tags: trunk)
19:32
Remove duplicate secure_delete pragma implemention. (check-in: c15fda14 user: drh tags: wal)
19:05
Add "log.h", which should have been part of the previous commit. (check-in: 8de9f010 user: dan tags: wal)
19:00
Import experimental write-ahead-logging code. (check-in: 409d61ba 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: 51a61395 user: dan tags: trunk)
14:51
Reset the simulated device in the test harness to its default configuration whenever it is restarted. (check-in: 562d20e6 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: 09065976 user: drh tags: trunk)
2010-04-09
23:05
Add a test case for the OOM-fault corruption issue. Ticket [9d68c883132c8]. (check-in: 0a64a937 user: drh tags: trunk)
15:34
Candidate fix for a pager bug associated with sqlite3PagerMovepage(). (check-in: 8c046eb6 user: drh tags: trunk)
09:14
Avoid unnecessary calls to sqlite3_step() with null prepared statements while parsing the schema. (check-in: ae04d2d1 user: drh tags: trunk)
2010-04-08
17:35
Fix a typo in a comment. No changes to code. (check-in: 332cb551 user: drh tags: trunk)
17:28
Fix code coverage problems in where.c. (check-in: b04a5282 user: drh tags: trunk)
16:30
Additional automatic index tests. (check-in: 99d8e325 user: drh tags: trunk)
15:01
New test cases for automatic indices. New testcase() macros associated with column-used bitmasks. (check-in: e1aa48ac user: drh tags: trunk)
15:01
Fix the computation of the number of rows in a table during automatic index generation. (check-in: edeab06a 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: af97b488 user: drh tags: trunk)
14:15
Add testcase() macros to the automatic index logic to insure that boundary cases are tested. (check-in: 72865478 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: 7c8afc32 user: drh tags: trunk)
01:16
Merge automatic index changes into the trunk. (check-in: bf7b8d86 user: drh tags: trunk)
00:40
When constructing automatic indices do not include the same column more than once. (Closed-Leaf check-in: d067d9f7 user: drh tags: experimental)
2010-04-07
20:32
Pull over the latest changes from the trunk. (check-in: e388fe8b 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: a3540c6a 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: 1f404412 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: a811a47f 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: 23643131 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: c0f67ea1 user: drh tags: experimental)
14:32
Fix the trace output of the OP_Function opcode to show the correct register numbers. (check-in: 064c283e 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: af3b72d9 user: dan tags: trunk)
2010-04-06
22:33
Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. (check-in: abbf16e5 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: a8224448 user: drh tags: experimental)
18:28
Progress toward getting automatic indices to work. Still failing in corner cases. (check-in: ac6d0fba 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: 1b2a0412 user: drh tags: experimental)
2010-04-05
15:11
Minor comment changes to the OP_OpenEphemeral header. No changes to code. (check-in: 8e1d7ef4 user: drh tags: trunk)
2010-04-03
13:08
Silently abandon a rollback if the journal has been truncated. (check-in: 7626f6c9 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: d64d181c 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: 937b931a 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: 8eb1f244 user: drh tags: trunk)
03:39
Pager changes for code coverage testing. (check-in: b04a45ea user: drh tags: trunk)
2010-04-01
18:33
Disable the corruptE.test script when ENABLE_OVERSIZE_CELL_CHECK is on. (check-in: 1dc4f9fe user: drh tags: trunk)
16:15
Zero the filesize-in-header word for bigfile.tcl. Remove bigfile.tcl from the journaltest permutation. (check-in: 63610c71 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: b1e7a1a6 user: drh tags: trunk)
02:47
Remove a NEVER in sqlite3PagerPagecount() that can in fact be true. (check-in: 8f005337 user: drh tags: trunk)
02:22
Restore the size information in the BtShared structure when a transaction rolls back. (check-in: 802aeb30 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: 8aecf302 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: a91db0b1 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: 06b9ca32 user: drh tags: trunk)
15:02
Clear the column cache before populating aggregate accumulator registers. Fix fo r [883034dcb5]. (check-in: ffc23409 user: dan tags: trunk)
13:57
Documentation enhancements for the sqlite3_log() interface. No functional changes to code. (check-in: ba13a111 user: drh tags: trunk)
11:56
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: b51fcac9 user: drh tags: branch-3.6.23)
11:52
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: 0077ed5c user: drh tags: trunk)
02:31
Increase test coverage following the introduction of the new filesize-in-header logic. (check-in: dbc2c3c0 user: drh tags: trunk)
2010-03-30
22:58
Continuing refinements to the filesize-in-header enhancement. (check-in: 79e22b95 user: drh tags: trunk)
15:51
Add a NEVER macro around a test in btree.c that can not longer be true. (check-in: c117f992 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: ca359a3e user: dan tags: trunk)
11:57
Change an #if into an #ifdef. (check-in: 371bab5d user: drh tags: trunk)
2010-03-29
21:22
Pull the experimental file-size-in-header changes into the trunk. (check-in: 0092b36c 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: 01ef6c19 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: 09786e2a 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: b844ac6f 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: 9e075e70 user: dan tags: trunk)
2010-03-26
22:28
Version 3.6.23.1 (check-in: b078b588 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: b1f342a6 user: drh tags: branch-3.6.23)
21:48
Fix to the crash8.test test script. (check-in: f18a129a user: drh tags: branch-3.6.23)
17:42
Enhance FTS3 to take advantage of the MAX() optimization. Cherrypick of [b7e42ae774]. (check-in: 4b65b480 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: ff6ae4f0 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: ca0bc2a2 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: c33b38b5 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: d37034f7 user: dan tags: trunk)
11:55
Attempt to suppress a warning from Borland Code Guard. (check-in: be278979 user: drh tags: trunk)
2010-03-23
18:24
More commenting and documentation enhancements in FTS3. (check-in: 892e2867 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: 3e4a0082 user: drh tags: trunk)
15:29
Close the auxiliary database db2 at the end of the crash8.test script. (check-in: 0fbdc431 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: 82dd61fc user: drh tags: branch-3.6.22)
17:38
Add an extra test case for crash recovery. (check-in: f2326dad 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: b21b911f user: dan tags: trunk)
15:47
Disable the "init.test" test script when compiled with SQLITE_THREADSAFE=0. (check-in: ad68fa65 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: 161958d1 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: 88810cd0 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: f31d2248 user: dan tags: trunk)
16:55
Store the SQLite version number of the last writer in bytes 96..99 of the header. (check-in: 146d4f5d 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: 69d749d9 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: b78e58ae 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: b7e42ae7 user: dan tags: trunk)
2010-03-18
16:34
Mark internal routines as "static" in FTS3. Ticket [b1552d0fa7]. (check-in: 39b34ac4 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: bea92586 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: f186b6a6 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: 59f75bba 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: c2af2164 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: bb591802 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: 418c6d81 user: drh tags: trunk)
20:06
Remove the "experimental" markings on most interfaces that have been around for multiple releases. (check-in: d670e8bd user: drh tags: trunk)
14:06
Fix typo in a comment in the sqliteInt.h. No changes to code. (check-in: 1716821d user: drh tags: trunk)
2010-03-09
19:31
Version 3.6.23 (check-in: 4ae453ea user: drh tags: trunk, release)
15:10
Fix a test script issue affecting the TCL backup tests under Windows. (check-in: 20c400e7 user: shaneh tags: trunk)
14:41
Version 3.6.23 release candidate 4 (check-in: 3445eda0 user: shaneh tags: trunk)
14:41
Minor changes to silence compiler warnings on various MSVC builds. (check-in: 115c978b user: shaneh tags: trunk)
13:12
Version 3.6.23 release candidate 3 (check-in: 747baea5 user: drh tags: trunk)
13:02
Check-in [87a6a9970b] did not completely disable FTS4. This check-in aims to finish the job. (check-in: 0259b629 user: drh tags: trunk)
12:35
Version 3.6.23 release candidate 2 (check-in: 73f4d292 user: drh tags: trunk)
12:35
Disable FTS4 (which is incomplete and not ready for publication) to prevent accidental use. (check-in: 87a6a997 user: drh tags: trunk)
05:01
Version 3.6.23 release candidate 1 (check-in: 30e9f966 user: drh tags: trunk)
2010-03-08
21:40
Add NEVER and assert macros and explanatory comments for unreachable conditions. (check-in: ffb6596e user: drh tags: trunk)
15:17
Correct an assert() in mem2.c (test code only). (check-in: 1a88e31b user: dan tags: trunk)
10:32
Do not run the stmt.test script as part of the inmemory_journal permutation. (check-in: 049cadf9 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: 81ff698f 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: 4793c381 user: dan tags: trunk)
17:27
Fix a one byte buffer overread in fts3. (check-in: 6e3e014a 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: 8858042f 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: 27413fc8 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: 0cc981f1 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: 1a0fa8d1 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: 5e472896 user: dan tags: trunk)
17:11
Fix an uninitialized variable in printf when compiling with SQLITE_OMIT_FLOATING_POINT. (check-in: 14ad62b9 user: drh tags: trunk)
16:12
Suppress harmless compiler warnings. (check-in: fc2c63ac 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: 5322d1df 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: 84d760bf 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: 6f368b54 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: 28d1bc98 user: drh tags: trunk)
17:09
Fixed compiler warning on Visual Studio. (check-in: 83495128 user: icculus tags: lemon-update-2010)
17:06
Whoops, that shouldn't have been in the merge. Removed buggy code. (check-in: 64372800 user: icculus tags: lemon-update-2010)
17:00
Use Strsafe() instead of strdup(). Fixes Visual Studio complaining. (check-in: 89d8f98e user: icculus tags: lemon-update-2010)
16:54
Merged trunk to lemon-update-2010 branch. (check-in: 88b466ba user: icculus tags: lemon-update-2010)
16:02
Fix some extra instances of the constants addressed by [83e47ca006]. (check-in: 0354ab27 user: dan tags: trunk)
15:49
Fix some extra instances of the problematic constant in util.c on the 3.6.1 branch. (check-in: 527c71d5 user: dan tags: branch-3.6.1)
15:34
Merge change [83e47ca006] into the 3.6.1 branch. (check-in: 96bfaf9c user: dan tags: branch-3.6.1)
15:18
Factor out constant expressions in sqlite3GetVarint() to work around nuisance warning messages from the RVT compiler. (check-in: 83e47ca0 user: drh tags: trunk)
14:23
Modify the command line tool to disable all mutexes. The command line tool is single-threaded. (check-in: 00e56790 user: dan tags: trunk)
08:18
Fix another instance of the same warning-inducing expression in util.c. (Closed-Leaf check-in: 80c64e16 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: 587109c8 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: e5342234 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: 9daf4e7d user: drh tags: trunk)
2010-02-26
22:05
fix merge error and compiler warning (check-in: 5c0afe70 user: adam tags: apple-osx)
20:54
More double free paranoia (check-in: 62dfb44b 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: dd4962aa user: drh tags: trunk)
15:39
Remove the compile_option pragma (retaining compile_options - with an "s"). Updates to documentation. (check-in: 733778df user: drh tags: trunk)
15:09
Avoid a buffer overwrite that can occur with a corrupt database if secure-delete is enabled. (check-in: 7bdb1e05 user: dan tags: trunk)
13:07
Avoid incorrect compiler warnings by doing a couple of needless variable initializations. (check-in: 8f29490d user: drh tags: trunk)
12:58
Increase the version number to 3.6.23 in preparation for the next release. (check-in: b5835d3e user: drh tags: trunk)
01:46
Minor changes to silence some compiler warnings with MSVC. (check-in: 4927c62d user: shaneh tags: trunk)
2010-02-25
23:44
Fix to the database connection validity checker. Other test coverage enhancements. (check-in: 0f6291bb user: drh tags: trunk)
21:27
Test coverage enhancements. Additional documentation detail on the new sqlite3_log() interface. (check-in: d986e928 user: drh tags: trunk)
19:09
Add experimental fix for corruption detection problem. This may well be revised yet. (check-in: 1cc4be7e 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: 9b18dfd1 user: shaneh tags: trunk)
15:28
Minor simplifications to the compile-time option reporting functions and pragmas to facilitate coverage testing. (check-in: 633d8747 user: drh tags: trunk)
14:56
Expire pragma statements when reset, even if they were not run to completion. (check-in: b8fbf427 user: drh tags: branch-3.6.22)
14:47
Expire pragma statements when reset, even if they were not run to completion. (check-in: 78351d28 user: drh tags: trunk)
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. (check-in: a2550597 user: dan tags: branch-3.6.1)
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: f0ae251a 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: 46f406b2 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: f73cc0e9 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: ecd22ef3 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: ce624e39 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: 95882598 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: 1168763d 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: dd480f62 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: 69a49318 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: a8c984c1 user: drh tags: trunk)
18:25
Remove an unused variable from rtree. (check-in: 8e60d399 user: drh tags: trunk)
17:15
Enhancements to the way errors are reported up when an automatic statement reprepare fails. (check-in: 1a6d4bb1 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: ff61e0fd 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: 8bf710ce user: drh tags: trunk)
20:32
Merge the compile-time option introspection interfaces into the trunk. (check-in: 9f429434 user: drh tags: trunk)
20:11
Continuing improvements to error reporting and the sqlite3_log() routine. (check-in: edea3bb7 user: drh tags: trunk)
20:08
Refactored compile time option diagnostic support to use strings identifiers instead of bitmask. (Closed-Leaf check-in: 76a0294a 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: e3713737 user: dan tags: trunk)
17:36
Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: 7c4cca6d user: drh tags: trunk)
10:56
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: 875f8fa3 user: dan tags: compile_opts)
10:50
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: d6343d03 user: dan tags: branch-3.6.1)
05:17
Removed checking of some compile options from the sqlite3_compileopts() API. (check-in: 833da702 user: shaneh tags: compile_opts)
04:19
Test new api to report which options (defines) were used to compile SQLite. (check-in: 84c97569 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: 6d910245 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: c4401fc9 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: 86d50ce5 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: 1e8b8420 user: drh tags: trunk)
19:32
Log all error messages if logging is enabled. (check-in: a8076aed 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: cae47c5b 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: 103321e3 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: 0e422580 user: dan tags: trunk)
2010-02-17
20:31
Report error if the grammar has multiple %type lines for the same nonterminal. (check-in: 721f33e7 user: icculus tags: lemon-update-2010)
20:22
Fixed % formatting in some printf-style strings. (check-in: f96add89 user: icculus tags: lemon-update-2010)
20:19
Corrected error message (cut-and-paste bug). (check-in: b3839f2a user: icculus tags: lemon-update-2010)
19:34
Merge latest changes from the trunk into the apple-osx branch. (check-in: 4b72e39b user: drh tags: apple-osx)
17:48
Consistent use of #ifdef for SQLITE_HAS_CODEC to avoid confusion. (check-in: 34a3413a user: shaneh tags: trunk)
05:40
Removed unused variables. (check-in: ca570a02 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: d76ad8b3 user: shaneh tags: trunk)
03:57
More rounding tests. (check-in: 3863638b user: shaneh tags: trunk)
2010-02-16
22:06
Remove duplicated assignment in realloc. (check-in: c419955d user: shaneh tags: trunk)
22:00
Added additional rounding tests. (check-in: b8ee76bc user: shaneh tags: trunk)
16:09
Removed %expect directive, on drh's advice. (check-in: b43ac330 user: icculus tags: lemon-update-2010)
16:07
Patched to compile. Accidentally removed va_list declaration. (check-in: 673d470c 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: 7a193309 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: ebc9433f 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: ab197d0a 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: ec914af3 user: drh tags: trunk)
15:47
Fix a compiler warning in shell.c. Updates to comments in trigger.c. (check-in: c727601e user: drh tags: trunk)
15:17
Fix a typo in the documentation for the OP_OpenPseudo opcode. (check-in: 9acfb069 user: drh tags: trunk)
00:01
Removed the 80-char line formatting for ErrorMsg(), on dhr's suggestion. (check-in: 132ea4e5 user: icculus tags: lemon-update-2010)
2010-02-14
17:14
Make Lemon able to compile as C++ code. (check-in: 75a1060b 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: 90602030 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: e38c08d9 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: d8bab8cf 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: e6cbe1e5 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: 942aa1f6 user: shaneh tags: trunk)
2010-02-12
22:43
Added experimental mutex implementation using interlocked ops and spin locks. (Closed-Leaf check-in: f3676b24 user: shaneh tags: experimental)
19:46
Enhancements to the secure_delete pragma to make it easier to use. (check-in: 2bb38bb9 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: f72f8a87 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: 14ab536a user: dan tags: trunk)
2010-02-05
18:00
Make sure file descriptors are closed before unlinking in VxWorks. (check-in: f64b81f1 user: drh tags: trunk)
16:28
Avoid truncating non-in-memory sub-journals when releasing a savepoint for a small performance improvement. (check-in: 27dc5b1c 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: 61a2c8d4 user: drh tags: trunk)
2010-02-04
17:38
Fix a performance glitch that appears for large transactions. (check-in: 26cb1df7 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: 1b6e6094 user: drh tags: trunk)
2010-02-01
15:47
Add log.c. (Closed-Leaf check-in: 7b31373f user: dan tags: wal)
15:47
Create new branch named "wal" (check-in: 784b718e user: dan tags: wal)
2010-01-31
15:14
Fix a C++-ism that snuck into sqlite3_finalize(). (check-in: fb96f2a2 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: 6487e70a user: drh tags: trunk)
2010-01-30
23:08
The iInUseDB and iInUseMM variables do not need to be volatile. (Leaf check-in: bb18f578 user: drh tags: branch-3.5.9)
22:28
Always hold the MEM2 mutex when initially marking a pager as in use by its database connection. (check-in: 622c1717 user: drh tags: branch-3.5.9)
19:17
Avoid a race condition in the sqlite3_release_memory() logic within pager.c. (check-in: a718e663 user: drh tags: branch-3.5.9)
19:00
Remove all cache pages from the LRU list prior to removing the pager from the pager list when closing a pager. (check-in: 9d13acc4 user: drh tags: branch-3.5.9)
18:22
Add additional pagerMutexHeld() macros to better verify the correct operation of pager.c. (check-in: c50e972f user: drh tags: branch-3.5.9)
2010-01-29
21:23
Fix a missing mutex on page cache truncation during vacuum and auto-vacuum when SQLITE_ENABLE_MEMORY_MANAGEMENT is engaged. (check-in: ea3b941a user: drh tags: branch-3.5.9)
19:50
Additional changes suggested by Rob Stoddard. (Closed-Leaf check-in: 228b8ad9 user: drh tags: branch-3.5.9)
19:46
Changes to 3.5.9 proposed by Rob Stoddard. (check-in: 5ed168c4 user: drh tags: branch-3.5.9)
2010-01-28
19:56
Tweaks for consistency to the SEE and CEROD API declarations in sqlite3.h. (check-in: 299f7456 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: 5dcfb0c9 user: drh tags: trunk)
01:14
Updated open mask to include SQLITE_OPEN_AUTOPROXY (check-in: 7c3bede3 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: 701ef64b 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: a82e6b45 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: 8bb1104c user: drh tags: trunk)
2010-01-20
14:25
Fix a problem with handling OOM errors in fts3. (check-in: f9c54e95 user: dan tags: trunk)
13:20
Align the os_unix.c source file with the version found on trunk. (check-in: fa0f6c14 user: drh tags: apple-osx)
13:07
Move the Apple OS-X VFS changes into the trunk. (check-in: 571594bf user: drh tags: trunk)
01:26
Update the Apple OS-X branch to include all of the latest changes in trunk. (check-in: 96499b1d user: drh tags: apple-osx)
01:20
Manually copy over the rebustness fixes from the apple-osx branch. (check-in: 095c74ea user: drh tags: trunk)
2010-01-19
23:50
robustness fixes for preventing a finalized statement from being reused (check-in: a7a0c8d6 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: 7080ae3b user: shaneh tags: trunk)
2010-01-15
17:33
Fix test numbering in fts3snippet.test. (check-in: 34f68546 user: dan tags: trunk)
17:25
Add coverage tests for fts3_snippet.c. Also fixes related to the same. (check-in: 5e9d8cca 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: e5336edc user: dan tags: trunk)
11:17
Fix some matchinfo related test problems in fts3rnd.test. (check-in: da7abe05 user: dan tags: trunk)
00:39
Comment cleanup in sqliteInt.h. (check-in: 67c3aea5 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: 56f232d5 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: 3fd6f9ad 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: e12da0d3 user: drh tags: trunk)
15:15
Make the doubleToInt64() routine a pass-through when using OMIT_FLOATING_POINT. (check-in: 41716718 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: 985d3bec 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: dfc6595d 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: 61df5986 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: 0209f171 user: drh tags: trunk)
19:28
Fix the implementation of CURRENT_TIMESTAME and CURRENT_DATE when SQLITE_OMIT_DATETIME_FUNCS is defined. (check-in: eb98265b user: drh tags: trunk)
17:57
Update comments in fts3_snippet.c. (check-in: dd9689b7 user: dan tags: trunk)
17:04
Use #ifdefs to disable unused code when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: 66bab856 user: drh tags: trunk)
2010-01-11
18:26
Add a few documentation evidence comments to the built-in function implementations. (check-in: 8bd0f814 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: a2b1183d 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: 14dc46a7 user: dan tags: trunk)
2010-01-08
23:01
Update comments in fts3.c to more accurately describe the doclist format. (check-in: e424a030 user: drh tags: trunk)
04:50
Added option to restore_jrnl.tcl utility to hex dump journal pages. (check-in: 08c545f0 user: shaneh tags: trunk)
2010-01-07
22:02
Minor tweaks to restore_jrnl.tcl utility script. (check-in: b97aca12 user: shaneh tags: trunk)
21:49
Small tool that attempts to repair a journal header. (check-in: 05b18b5f user: shaneh tags: trunk)
15:17
Fix the expression comparison logic to take the COLLATE operator into account. Ticket [360c6073e197] (check-in: 44bb1bfe 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: d6ee5ff6 user: dan tags: trunk)
10:54
Fixes to problems in FTS3 snippet() function found by th3 tests. (check-in: 3b5ccd26 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: e22c090f 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: c7e5966e user: dan tags: trunk)
17:19
Change the fts3 snippet function to return (hopefully) more relevant snippets in less time. (check-in: 8a208223 user: dan tags: trunk)
13:12
Update the OS-X branch to include all trunk changes through version 3.6.22. (check-in: 541e2b48 user: drh tags: apple-osx)
13:07
Fix an issue with lemon generating incorrect grammars. This issue does not effect SQLite. (check-in: 077a6bee user: drh tags: trunk)
00:00
Version 3.6.22 (check-in: 28d0d771 user: drh tags: trunk, release)
2010-01-05
18:11
Apply fix [9b8acf8319] to the 3.6.1 branch. (check-in: 62b4891b user: dan tags: branch-3.6.1)
18:06
Apply fix [097737e368] to the 3.6.1 branch. (check-in: 9f819ea6 user: dan tags: branch-3.6.1)
14:18
Removed compiler warnings in MSVC. (check-in: 4ecb4725 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: e47e2133 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: e5d07045 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: 6462817b 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: e02f2556 user: drh tags: trunk)
2010-01-04
13:30
Version 3.6.22 Release Candidate 1 (check-in: 9d8ab0f1 user: drh tags: trunk)
2010-01-02
19:02
Add experimental implementation of FTS3 functions matchinfo() and snippet() (not enabled by default). (check-in: 51f7ee84 user: dan tags: trunk)
03:46
Fix a bug in the new sqlite3_test_control case of the previous check-in. (check-in: 3b77701b 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: d3cdc4b1 user: drh tags: trunk)
2010-01-01
18:57
Add evidence marks associated with autoincrement. (check-in: 0e918c54 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: e1ccdb93 user: drh tags: trunk)
19:48
Minor changes to test scripts to support various SQLITE_OMIT options. (check-in: 97f8a886 user: shaneh tags: trunk)
19:06
Changes to remove warnings in MSVC build. (check-in: 6cf76c2a user: shaneh tags: trunk)
15:51
Change evidence marks to track requirement number changes in the foreign-key documentation. (check-in: 6b4fcd81 user: drh tags: trunk)
2009-12-30
14:19
Change the version number to 3.6.22. (check-in: 96919a46 user: drh tags: trunk)
14:12
Adjustments to column cache handling in order to restore 100% branch test coverage. (check-in: cc6b959b 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: 1f890efb user: drh tags: trunk)
00:12
Remove obsolete comment text from expr.c. No functional code changes. (check-in: 84058be0 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: 1a0e5fa9 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: a3b50e4f 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: ea4e57e1 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: a3204d8a 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: 4a97c623 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: 37a1de02 user: dan tags: trunk)
00:29
Add a pragma to disable the query flattener - for use during testing. (check-in: 1d8550e5 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: 4b489ecb 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: 956de051 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: 76eca729 user: shaneh tags: trunk)
22:12
Fixed some TCL test cases to work if SQLITE_OMIT_TRIGGER is defined. (check-in: 85e3c734 user: shaneh tags: trunk)
21:07
Updated and added new test cases for CLI. (check-in: 29e3c8da 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: b1b48be1 user: shaneh tags: trunk)
21:05
Fix typo in comment of prepare.c. (check-in: 333c3ffe user: shaneh tags: trunk)
03:49
Disable trace when recursively running commands while vacuuming. (check-in: 69a1348a user: drh tags: trunk)
02:13
Change the REGEXP function in ICU to require exactly 2 arguments. (check-in: c34cf23e 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: 5754a3a5 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: 04915562 user: drh tags: trunk)
23:28
Fix for the "(x AND y) OR z" bug backported to version 3.6.21. (Leaf check-in: 86734732 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: 2c2de252 user: drh tags: trunk)
14:49
Modify some comments in e_fkey.test. No changes to code or tests. (check-in: 1ba4f412 user: dan tags: trunk)
2009-12-14
17:42
Add a few simple evidence comments to the tokenizer. No functional changes. (check-in: 0daec309 user: drh tags: trunk)
15:17
Handle an unhandled OOM error code that occurs in fts3 with SQLITE_TEST defined. (check-in: 82b06999 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: a730a05b user: dan tags: trunk)
2009-12-13
23:03
Additional corrections to documentation comments. No functional code changes. (check-in: b3740b0a user: drh tags: trunk)
22:20
Minor documentation updates. No functional changes. (check-in: 6ae7e40b user: drh tags: trunk)
2009-12-12
23:57
Fix some documentation comments in sqlite.h.in. No functional code changes. (check-in: c16b9bec user: drh tags: trunk)
19:15
Tests to cover a few extra branches in fts3.c. (check-in: 06b72b00 user: dan tags: trunk)
16:04
Further fts3 coverage tests. (check-in: d2a8c0f6 user: dan tags: trunk)
13:58
Rename tkt-d82e3f3721.txt to use the (correct) .test suffix. (check-in: 68cccd62 user: drh tags: trunk)
13:16
Extra tests for coverage of fts3 code. (check-in: eee921a9 user: dan tags: trunk)
09:51
Add coverage test cases for fts3. (check-in: 8fcb0478 user: dan tags: trunk)
2009-12-11
23:11
Additional changes to C-language interface documentation. (check-in: 1342916f user: drh tags: trunk)
16:03
Change the fts3 test interface used to configure the advisory node size parameter. (check-in: 87fc0ce1 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: 29476da3 user: dan tags: trunk)
07:07
Add comment to fts3rnd.test to explain how the test works. (check-in: 6b740c7c 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: ea884e1e user: drh tags: trunk)
2009-12-10
21:11
Avoid declaring and freeing test variables if SQLITE_TEST not defined. (check-in: c2d22960 user: shaneh tags: trunk)
18:38
Remove some unused macros and types from fts3.c. (check-in: 83a80efe user: dan tags: trunk)
18:29
Fix handling of "WHERE col MATCH ? AND docid = ?" clauses in fts3. (check-in: 6cbbae84 user: dan tags: trunk)
18:20
Fix an OOM related problem in the snippet() and offsets() functions of fts3. (check-in: 61efff41 user: dan tags: trunk)
16:04
Changes to fts3 to avoid flushing data to disk within a SELECT statement. (check-in: 48c0db0e 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: ee9b1c05 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: 54b955c3 user: drh tags: trunk)
18:22
Added test cases for the multi-way USING and NATURAL JOIN fix. Ticket [f74beaabde]. (check-in: 0b34ab25 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: b558e96f user: drh tags: trunk)
14:39
Improve test coverage of fts3.c. (check-in: 56b6432f user: dan tags: trunk)
05:30
Mark fts3ReallocOrFree and fts3InitVtab as static. Ticket [ff44d82f3b]. (check-in: a9038306 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: fdfdc777 user: drh tags: trunk)
19:58
Add comments to better explain the two-pass memory allocation approach for prepared statements. (check-in: 0e5e18ea user: drh tags: trunk)
19:05
Add tests to improve coverage of fts3. Associated bugfixes. (check-in: f0eac417 user: dan tags: trunk)
15:35
Avoid pointer aliasing in the allocSpace() routine in vdbeaux.c. (check-in: d6ae2751 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: 973c5c86 user: drh tags: trunk)
14:34
Allow zero-length names for tables, columns, and indices. Fix for ticket [78e04e52eaf]. (check-in: 7b1cfd65 user: drh tags: trunk)
13:44
Add test cases for ticket [abe728bbc311]. (check-in: 4eb9bf0b 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: f43e37e0 user: drh tags: trunk)
02:06
Add evidence marks for the abs() and soundex() SQL functions. (check-in: 003f3ed1 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: ad08794d user: drh tags: apple-osx)
16:39
Version 3.6.21 (check-in: 1ed88e9d user: drh tags: trunk, release)
16:26
Remove a redundant line from fts3. (check-in: cd50acf3 user: dan tags: trunk)
16:23
Add extra tests for parsing of whitespace in tokenizer declarations,. (check-in: 5030ba2e 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: fad43d29 user: shaneh tags: trunk)
14:48
Version 3.6.21 release candidate 2. (check-in: 78f6baff 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: 5811df3f user: dan tags: trunk)
2009-12-06
03:35
Enhanced detection of database corruption in btree.c:allocateSpace(). (check-in: 5a511f98 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: 7a9a3532 user: drh tags: trunk)
18:16
Add test case for the obscure corruption detection added by the previous commit. (check-in: f221f31e user: dan tags: trunk)
18:03
Catch an obscure case of database corruption. (check-in: 0f9b17a6 user: dan tags: trunk)
14:29
Fix another bug in 3-way NEAR queries. (check-in: 3bb13a06 user: dan tags: trunk)
11:37
Fix some problems with FTS3 and 3-way NEAR queries. (check-in: 23dc6fb5 user: dan tags: trunk)
2009-12-04
23:10
Add the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option which tells some assert() statements that the underlying system only requires 4-byte alignment of 8-byte data objects like double or int64 and that system malloc() only guarantees 4-byte alignment of returned pointers. (check-in: 08faee68 user: drh tags: trunk)
22:51
Remove an assert() in btree.c:releasePage() that is not necessarily true when the btree is recovering from an OOM that occurs in the middle of a balance(). (check-in: 04fc9c76 user: drh tags: trunk)
19:07
Fix a problem involving a 3-way NEAR query. (check-in: 507890a9 user: dan tags: trunk)
14:25
In the OSTRACE debugging macros in os_unix.c, identify the VFS currently in use. (check-in: 082b8da0 user: drh tags: trunk)
14:11
Modify [2ad1461f25] to avoid leaving a prepared statement in "active" state following an OOM error in FTS3. (check-in: 69c21ee4 user: dan tags: trunk)
13:43
Fix an FTS3 problem where an OOM error was not being propagated back out to the top-level interface. (check-in: 2ad1461f user: drh tags: trunk)
08:41
Reset the state of the asynchronous IO module at the end of the tkt-94c04eaadb.test script. (check-in: e8ae7e98 user: dan tags: trunk)
05:41
Do not run fts3rnd.test as part of quick.test. (check-in: 3bb64842 user: dan tags: trunk)
01:44
Clear a conflicting TCL variable in the fts3rnd.test test script. (check-in: f9047b2e user: drh tags: trunk)
2009-12-03
21:26
Fix an assert() in btree.c that might have fired on a corrupt database file. (check-in: 5ab2b3e3 user: drh tags: trunk)
19:40
Remove a NEVER() from btree.c that could occur in a very obscure tested evaluation with an I/O error on fstat(). (check-in: d5861d9f user: drh tags: trunk)
17:36
Fix an incorrect assert() in fts3.c. Add further fts3 tests. (check-in: 75863c2d user: dan tags: trunk)
06:26
Updates to FTS3 to correct compiler warnings under MSVC. (check-in: 37495b55 user: shaneh tags: trunk)
04:40
Fix a couple of compiler warnings under MSVC. (check-in: e3aa0870 user: shaneh tags: trunk)
04:32
Fix cut-and-paste error affecting a couple of attach tests on Windows. (check-in: 59e2e2c6 user: shaneh tags: trunk)
01:01
Add links from C/C++ interfaces to their equivalent SQL functions. Comment changes only - no changes to code. (check-in: acce10f7 user: drh tags: trunk)
2009-12-02
20:25
Change an error message in FTS3 to avoid using an uninitialized variable. (check-in: 620a8a2b user: drh tags: trunk)
18:16
Fix an uninitialized value read in sqlite3async.c. (check-in: 1cf2136c user: dan tags: trunk)
18:03
Fix compiler warnings in test_hexio.c. (check-in: 6a2e0725 user: drh tags: trunk)
16:09
Modify a test in fts3b.test to reflect the fact that the docid field may now be updated. (check-in: ef5b7450 user: dan tags: trunk)
14:44
Clear the Pager.dbModified flag when unlocking the database. Assert that it is clear when locking the database. (check-in: d17ec16b user: dan tags: trunk)
02:49
Make sure a variable is cleared before use in the where8.test script. (check-in: b3436529 user: drh tags: trunk)
2009-12-01
22:09
Add testcase() macros to make sure boundary cases in BEFORE UPDATE triggers are well tested. (check-in: 27175caa user: drh tags: trunk)
18:46
Fix a faulty function prototype in test_intarray.c. (check-in: 110956a6 user: drh tags: trunk)
17:08
Use #include "sqlite3.h" instead of <sqlite3.h> in fts3Int.h. (check-in: 7737db49 user: dan tags: trunk)
17:05
Add typedefs for i16 and u8 to fts3Int.h when not building via the amalgamation method. (check-in: fa56c1c4 user: dan tags: trunk)
15:04
Add tests for the remaining examples in fts3.in. (check-in: e381cd52 user: dan tags: trunk)
14:31
Reorder function declarations in mutex_os2.c. This is a blind change - we have no capability of testing on OS/2. Ticket [97214a34d814] (check-in: c40e4ef0 user: drh tags: trunk)
13:57
Changes to the TCL interface header to allow it to be compiled independently from the amalgamation. (check-in: 58113932 user: drh tags: trunk)
13:48
Open a savepoint within the FTS3 optimize() function. (check-in: 4924fbb2 user: dan tags: trunk)
12:00
Fix a segfault that can occur when querying an empty FTS3 table. Also restore the rowid/docid conflict handling to work as it did in version 3.6.20. (check-in: c022f66b user: dan tags: trunk)
2009-11-30
19:48
Test coverage improvements in the FTS3 porter stemmer. (check-in: 6d112bfd user: drh tags: trunk)
08:55
Add test cases for examples recently added to documentation file fts3.html. (check-in: 498922cc user: dan tags: trunk)
2009-11-28
21:33
Updates to snippet() and offsets() functions of FTS3 so that they work sanely following an OOM fault. (check-in: b939a37a user: drh tags: trunk)
17:23
Change FTS3 to detect when the RHS of the MATCH opertor encounters an OOM during string format conversion and report back an SQLITE_NOMEM error. (check-in: 31eed4f8 user: drh tags: trunk)
17:07
Remove all benign OOM failure opportunities from the FTS3 hash table implementation. All OOM faults cause SQLITE_NOMEM to be returned. (check-in: 80754d38 user: drh tags: trunk)
15:35
Add a test case for creating an FTS3 table with no module arguments or opening/closing brackets in the CREATE VIRTUAL TABLE statement. (check-in: a9cba7ea user: dan tags: trunk)
13:46
Initialize a variable (unnecessarily) to avoid a compiler warning. (check-in: db65fd59 user: drh tags: trunk)
12:40
Fix a bug introduced by the fts3 refactoring (segfault when creating a table with zero module args). Also a fix to handle an OOM error. (check-in: eada284b user: dan tags: trunk)
2009-11-27
18:31
Change the test numbers in e_fkey.test so that they are in order. (check-in: ca73be44 user: dan tags: trunk)
12:14
Remove a C++ism accidentally added to fts3.c. (check-in: 97d33241 user: dan tags: trunk)
12:12
Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. (check-in: 1b7c5250 user: dan tags: trunk)
2009-11-26
14:01
Simplifications to the sqlite3_trace() bound parameter substitution logic. (check-in: cb4b9286 user: drh tags: trunk)
2009-11-25
22:42
Make sure the new fts3Int.h header file is added to the amalgamation. (check-in: f25558f3 user: drh tags: trunk)
21:05
Support zeroblob in trace output. (check-in: 5086bf8e user: drh tags: trunk)
19:35
Get trace with parameter insertion working for UTF16 databases. (check-in: 01d5451a user: drh tags: trunk)
18:03
Initial check-in of code that inserts tokenizations of the values for bound parameters into the output of sqlite3_trace(). (check-in: 545cfb3b user: drh tags: trunk)
16:53
Enhance the %q, %Q, and %w printf conversions so that the precisions specifies the length of the input. (check-in: 3ba77313 user: drh tags: trunk)
2009-11-24
19:02
Recomputed unchanged column values in an UPDATE statement after running BEFORE triggers, in case the triggers have modified any of those values. (Closed-Leaf check-in: 7d308801 user: drh tags: experimental)
16:26
Fix a tracing macro in the VDBE in the VColumn opcode. (check-in: cb74b81b user: drh tags: trunk)
02:37
Fix SQLITE_SECURE_DELETE so that it overwrites content on the root pages of tables and indices that are dropped using the truncate optimization. (check-in: 02ef972a user: drh tags: trunk)
2009-11-23
21:23
Make sure registers computed for the VFilter opcode are marked invalid after the VFilter opcode finishes. Ticket [16fbf14cb2]. (check-in: 83dc7d38 user: drh tags: trunk)
15:59
Rearrange the order of two branches in order to restore 100% branch coverage after recent changes to in-memory database processing. (check-in: 6ce6ff44 user: drh tags: trunk)
14:39
Change so that deleting an Expr structure requires only one frame per level in the expression tree, not two. (check-in: a4380ab3 user: dan tags: trunk)
13:17
Bump the version number to 3.6.21. (check-in: 39214aee user: drh tags: trunk)
2009-11-21
03:03
Add some missing comments to fts3 files. No source code changes. (check-in: b6402b20 user: dan tags: trunk)
01:33
Fix a bug in transaction rollback during backup when the CODEC is enabled that can result in a corrupt backup file. This is only a problem when SQLITE_HAS_CODEC is defined. (check-in: f3398fc4 user: drh tags: trunk)
2009-11-20
18:48
When moving pages as part of autovacuum on an in-memory database, make sure that the source location is journalled so that a ROLLBACK can occur. Part of the fix for ticket [564d412f15a00] (check-in: 2f42f91f user: drh tags: trunk)
17:23
Merge leaf accidentally created by [1c4984c62f]. (check-in: cae949ce user: dan tags: trunk)
17:18
Add a test to make sure a database can be attached to a single handle twice if not in shared-cache mode. (check-in: 1c4984c6 user: dan tags: trunk)
16:13
Fix a bug in LIMIT 0 for compound SELECT statement. The problem was introduced by recent enhancements and has not appeared in any release. (check-in: c6ed7e2a user: drh tags: trunk)
15:02
If the root pages numbers of the internal schema are adjusted due to autovacuum on a DROP TABLE statement and that statement later aborts (for example, due to an OOM error) then reset the internal schema at the conclusion of the statement. Partial fix for ticket [564d412f15a]. (check-in: e493b093 user: drh tags: trunk)
13:18
Avoid unnecessary page cache allocations when move a page while autovacuuming an in-memory database, since the allocation might fail making it impossible to rollback the transaction. (check-in: 9a429349 user: drh tags: trunk)
05:05
Improve comments and other things in fts3_write.c. (check-in: 1cf0e3cc user: dan tags: trunk)
02:24
Minor optimizations to fts3 code. (check-in: b456eacb user: dan tags: trunk)
2009-11-19
18:30
Merge leaves [7cd178a72a] and [598727e6da]. (check-in: 4115c0c2 user: dan tags: trunk)
18:28
Fix a performance regression introduced while reworking the fts3 code. (check-in: 7cd178a7 user: dan tags: trunk)
15:44
Remove an unreachable branch from the OP_Affinity suppression logic. (check-in: 598727e6 user: drh tags: trunk)
15:26
Merge fts3-refactor into the main trunk. (check-in: 551dbe30 user: dan tags: trunk)
15:25
Fix some fts3 related issues with the autoconf and amalgamation build systems. (Closed-Leaf check-in: 3b179247 user: dan)
14:57
Merge with [4bd4330709]. (check-in: 7a46d1eb user: dan tags: fts3-refactor)
14:52
Merge the fts3-refactor branch with the trunk. (check-in: c8d2bd37 user: dan tags: fts3-refactor)
14:48
Fix a bug introduced with recent optimizations: The unary minus operator is TK_UMINUS, not TK_MINUS. (check-in: 4bd43307 user: drh tags: trunk)
00:15
Fix problems introduced into fts3 as part of the refactoring. (check-in: fa0998e1 user: dan tags: fts3-refactor)
2009-11-18
23:01
Performance improvement by avoiding unnecessary calls to memset(). (check-in: 85940468 user: drh tags: trunk)
15:35
Add some missing comments and fix some other issues in fts3 code. (check-in: 2fe579e7 user: dan tags: fts3-refactor)
01:25
Suppress more instances of unnecessary OP_IsNull and OP_Affinity opcodes. (check-in: bf6c0bd1 user: drh tags: trunk)
2009-11-17
23:59
Enhancements to the VDBE opcode loop to reduce the number of machine-code instructions evaluated by about 10%. (check-in: 9744ffb3 user: drh tags: trunk)
18:31
Code generator tries to avoid pointless OP_IsNull and OP_Affinity opcodes. (check-in: ebb0c8a3 user: drh tags: trunk)
12:52
Improvements to the way fts3 reads the full-text index. (check-in: 45c051e7 user: dan tags: fts3-refactor)
2009-11-16
23:36
Make sure the output of sqlite3OsFullPathname is initialized even if the fails due to I/O or OOM errors. (check-in: e4943adb user: drh tags: trunk)
22:54
Fix a reference to freed memory that can occur following an OOM error in where.c. (check-in: 929b6047 user: drh tags: trunk)
21:28
Back out part of the change in [23ea2b700fd6d28d] since TH3 reveals some problems in OOM situations. (check-in: 15d215d6 user: drh tags: trunk)
16:36
Add a few extra coverage test cases for fts3. (check-in: f29c8fca user: dan tags: fts3-refactor)
15:11
Use the sqlite3CtypeMap to improve the speed and reduce the size of the logic in the tokenizer that recognizes identifiers. (check-in: 1c9243b0 user: drh tags: trunk)
03:13
Additional optimizations in sqlite3VdbeRecordCompare(). (check-in: 23ea2b70 user: drh tags: trunk)
02:14
Optimizations to the sqlite3VdbeRecordCompare() routine help it to run 12.5% faster for some traces. (check-in: 74c76f0b user: drh tags: trunk)
2009-11-15
06:50
Fixes to fts3 integrity check code. (check-in: d3cae986 user: dan tags: fts3-refactor)
2009-11-14
23:22
Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code run a few percent faster. (check-in: d622ac6a user: drh tags: trunk)
18:41
Further OOM testing for fts3 code. Add Tcl code implementing an integrity-check for fts3. (check-in: c27d46b3 user: dan tags: fts3-refactor)
18:04
Make the sqlite3VdbeExec() function about 2% faster by storing the opcode array in a local variable. (check-in: 8bd3cc82 user: drh tags: trunk)
2009-11-13
20:52
Performance improvements and size reductions on the OP_Seek* family of VDBE opcodes. (check-in: ed820f45 user: drh tags: trunk)
19:43
Simplify the OPFLG processing logic in the VDBE for a speed boost in the VDBE processing loop and a reduction in code size. (check-in: 3352b3eb user: drh tags: trunk)
17:36
Start reworking fts3 code to match the rest of SQLite (code conventions, malloc-failure handling etc.). (check-in: 30a92f11 user: dan tags: fts3-refactor)
17:05
Force 8-byte memory alignment on memory allocated for VDBE cursors. (check-in: bdc45ba7 user: drh tags: trunk)
10:04
Changes to test_intarray.c so that it build with SQLITE_OMIT_VIRTUALTABLE. Added testcase() macros to expr.c. (check-in: f0599d28 user: drh tags: trunk)
2009-11-12
20:39
Shift more OP_Found opcodes over to using the unpacked format, for improved performance. (check-in: 6705ab1a user: drh tags: trunk)
19:59
Enhance the OP_Found and OP_NotFound opcodes so that they can accept an array of registers as an unpacked record in addition to a record built using OP_MakeRecord. Use this to avoid OP_MakeRecord calls during IN expression processing. (check-in: b9eab885 user: drh tags: trunk)
17:52
Factor out the IN operator code generation into a subroutine. Use this subroutine to implement both logic and branching versions of the IN operator. (check-in: fcff5b7e user: drh tags: trunk)
13:32
Factor out the code generator for BETWEEN into a subroutine. (check-in: 5735f60b user: drh tags: trunk)
05:04
Update comment for substrFunc(). Added additional SUBSTR() test cases. (check-in: d7b3801d user: shaneh tags: trunk)
04:26
Suppress unnecessary OP_Noop instructions on when the right table of a LEFT JOIN uses the index-only optimization. (check-in: e8aec08b user: drh tags: trunk)
03:46
Suppress excess OP_Null opcodes caused by binary IS or IS NOT operators that are converted into unary ISNULL or NOTNULL operators. (check-in: cff1b36a user: drh tags: trunk)
03:13
Adjustments to the implementation of LIMIT so that it uses fewer opcodes. (check-in: 39d5b292 user: drh tags: trunk)
2009-11-11
23:58
If the sector size is unspecified (initially 0) then set it to 512, not to 32. (check-in: 8861b5c1 user: drh tags: trunk)
23:48
Remove an obsolete (and incorrect) comment from sqlite3MemCompare(). No changes to code. (check-in: c15b70b3 user: drh tags: trunk)
20:53
Tweaks to the SUBSTR() function to make it dramatically faster in the common case where the input string is large but the 2nd and 3rd arguments are small positive integers. (check-in: 5a474a86 user: drh tags: trunk)
13:17
Allow media sector sizes as small as 32. The former minimum size was 512. (check-in: 5a32bfc1 user: drh tags: trunk)
04:17
Modified CLI to raise an error when extra command line options are passed. Added tests to verify correct handling, as well as other basic handling of command line options. Ticket [f5cb008a65]. (check-in: 09b4f19f user: shaneh tags: trunk)
01:14
Additional test cases for the coalesce() and ifnull() functions. (check-in: d0591258 user: drh tags: trunk)
00:24
Generate VDBE code for the built-in COALESCE() and IFNULL() functions. This allows unused arguments to never be evaluated, which is a performance win when the unused argument is a subquery. (check-in: 30055b25 user: drh tags: trunk)
2009-11-10
17:55
Additional intarray test cases and tweaks to comments. (check-in: 0c8db5d8 user: drh tags: trunk)
17:24
Initial implementation and test cases for the "intarray" virtual table. (check-in: 0e7d2925 user: drh tags: trunk)
17:07
Fix for datbase name being ignored with the -batch option in the CLI. Ticket [aeff892c57]. (check-in: 8097c64a user: shaneh tags: trunk)
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: f6c045f6 user: drh tags: trunk)
01:13
Remove from the TCL interface some old code associated with sqlite3_analyzer. (check-in: 01f2271e user: drh tags: trunk)
01:12
Omit some code that is not used when SQLITE_SECURE_DELETE is defined. (check-in: 5a9e7463 user: drh tags: trunk)
2009-11-09
19:30
Fix for lock structure sharing with AFP-style locking (check-in: 62f15c0a user: adam tags: apple-osx)
2009-11-06
17:20
Improved shell "dot" command argument handling. Ticket [f12a9eeedc]. (check-in: 9fb69919 user: shaneh tags: trunk)
04:13
Fix the backup API so that a backup from an empty database to a non-empty database works. Ticket [0bf974bdf9]. The only changes are in assert() statements. (check-in: ddb71cd9 user: drh tags: trunk)
03:33
Merged accidental fork. (check-in: d410cd4e user: shaneh tags: trunk)
03:22
Add some very basic tests for the commands available from the CLI. (check-in: 6bf43338 user: shaneh tags: trunk)
2009-11-05
18:46
Recover an ophaned branch that resulted from some ill-advised "shunning". This check-in should be identical to [bd443f39a9] except that it should be on the trunk. (check-in: 38eaf1ab user: drh tags: trunk)
18:31
Fix an undefined variable on non-Mac builds. (check-in: 9552de8f user: drh tags: apple-osx)
17:27
Do not limit the trigger recursion depth when SQLITE_SMALL_STACK is defined since trigger recursion uses the heap, not the stack. (Closed-Leaf check-in: bd443f39 user: drh tags: shunning-error)
16:29
Add a comment related to code coverage. No changes to code. (check-in: 6bdc2c99 user: drh tags: shunning-error)
04:14
Update maxRow size after shrinking the row buffer (CSV). (Closed-Leaf check-in: d474195a user: shaneh tags: csv_ext)
04:01
Removed line limit on rows. (check-in: ec08b15f user: shaneh tags: csv_ext)
02:34
Initial implementation of a virtual table for CSV files. (check-in: 90e63b7d user: shaneh tags: csv_ext)
2009-11-04
23:02
Fix a typo on the ynVar typedef that unfortunately caused 3.6.20 to be released with a "bug" that causes excess memory usage for Expr objects. This bug should be benign in the sense that the correct answer is still always obtained - it only uses more more memory than is really necessary. (check-in: f1c09aca user: drh tags: shunning-error)
21:49
Do not accept a codec no an in-memory database. (check-in: 6f3081a8 user: drh tags: shunning-error)
18:51
Fix documentation typos. (check-in: 590d4ac1 user: drh tags: shunning-error)
13:30
Version 3.6.20 (check-in: eb7a544f user: drh tags: trunk, release)
13:17
Create a new datatype "ynVar" to hold "nVar" (number of variable) values. This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER is large enough. (check-in: 24a4d520 user: drh tags: trunk)
01:56
Report errors back up to the ATTACH command if the codec fails to initialize. (check-in: a6c69610 user: drh tags: trunk)
2009-11-03
22:34
Customizations for OSX contributed by Apple. (check-in: 941a01eb user: adam tags: apple-osx)
19:42
Fix compiler warnings on MSVC build. (check-in: 01c4b5b8 user: shane tags: trunk)
19:18
Enhancements to lemon to generate more compact action tables and to avoid making array bounds tests that can never fail on action table calculations. (check-in: 27d8e684 user: drh tags: trunk)
13:08
Force all qsort() calls in mkkeywordhash.c to be stable so that we get predictable results on different platforms. (check-in: 3b02df27 user: drh tags: trunk)
13:02
Adjust the lemon implementation so that it always computes the same PDA regardless of qsort() implementation on the host platform. In other words, make all sorts in lemon stable. (check-in: d66a0f31 user: drh tags: trunk)
01:22
All SQLITE_MAX_VARIABLE_NUMBER to exceed 32767. The sizes of some structures increase when the compile-time parameter is configured this way. (check-in: 16a24b44 user: drh tags: trunk)
2009-11-02
18:44
Bug fix in the recent changes to mkopcodeh.awk. (check-in: 6610cac4 user: drh tags: trunk)
18:14
Update the generator AWK script for opcodes.h so that it always generates opcode numbers in the same order and is not dependent on the hash order of opcode names within AWK. (check-in: e730195f user: drh tags: trunk)
18:01
Do not insert the date and time of generation into the amalgamation. (check-in: 9f6cf13d user: drh tags: trunk)
17:40
Update the configure script for version 3.6.20. (check-in: f19cb105 user: drh tags: trunk)
15:51
Comment changes in support of better documentation. No changes to code. (check-in: 79ab4714 user: drh tags: trunk)
2009-11-01
19:26
Fix compiler warnings. Better comments on some variables associated with LIKE/GLOB processing in the query planner. (check-in: cfa2db0f user: drh tags: trunk)
2009-10-30
14:27
Increase the version number to 3.6.20. (check-in: 61295274 user: drh tags: trunk)
13:26
Version 3.6.16.1 (Leaf check-in: 2a832b19 user: drh tags: release, branch_3_6_16)
13:25
Avoid storing the result register for EXISTS and SELECT in any field of the Expr object - simply return the register number as the return value of the function that codes those expressions. (check-in: 7253f8fa user: drh tags: trunk)
2009-10-29
18:38
Fix a 16-bit integer overflow that might occur in statements that use both an EXISTS clause and IN operator with a RHS holding in excess of 32K entries. (check-in: 65a1f133 user: drh tags: branch_3_6_16)
13:48
Reduce the memory required by prepared statements that use the IN operator with a list on the right and an INTEGER PRIMARY KEY on the left. (check-in: e7984ad2 user: drh tags: trunk)
2009-10-27
18:06
Minor updates and corrections to comments in btreeInt.h. No changes to code. (check-in: ad949fa1 user: drh tags: trunk)
2009-10-26
22:32
Remove additional obsolete code from the sqlite3_release_memory() logic. (check-in: 2eeb6ed8 user: drh tags: trunk)
22:08
Remove some obsolete code within #if 0 that was causing developer concern. (check-in: 1d64e945 user: drh tags: trunk)
2009-10-24
15:51
Fix a compiler warning that occurs when building the TCL interface. (check-in: fc36034b user: drh tags: trunk)
03:04
Another attempt at getting the pTail pointer computations correct for sqlite3_prepare16(). Ticket [3fe897352e]. (check-in: a96b4e8c user: drh tags: trunk)
02:06
In shell, modified to not print informational messages during startup while in "batch mode". Ticket [2cb66577f6]. (check-in: e3898e25 user: shane tags: trunk)
02:00
In shell, changed ".tables" command to not add '%' to specified pattern. This is consistent with other commands that take a LIKE pattern (.dump, .schema, .indices). Updated internal help to better describe LIKE pattern usage. Fixed a few more inconsistencies in error messages. Ticket [6da68f691b]. (check-in: 7201244e user: shane tags: trunk)
01:55
Check-in [19064d7cea] broke the pTail return on sqlite3_prepare16() when the SQL contained surrogates. This check-in restores correct function. Part of ticket [3fe897352e]. (check-in: 65b1e3a4 user: drh tags: trunk)
2009-10-23
18:15
Make sure that UTF16 to UTF8 conversions to not read past the end of the UTF16 input buffer if the last two bytes of the UTF16 happen to be the first half of a surrogate pair. Ticket [3fe897352e] (check-in: 19064d7c user: drh tags: trunk)
01:27
In shell, ensure that do_meta_command() returns consistent error values. Adjusted the text of some error message to be more consistent. Ticket [beb2dd69ad]. (check-in: 1ebac9ed user: shane tags: trunk)
00:37
In shell, modified "import" handling to ensure error code returned correctly on exit. Ticket [bd770b2c52]. (check-in: 009efad0 user: shane tags: trunk)
2009-10-22
21:23
In shell, reworked .header and .echo handling. Updated shell_exec() to (really) handle multiple statements. Tickets [72adc99de9], [7b61b6c6ce], and [eb620916be]. (check-in: 790402c1 user: shane tags: trunk)
20:52
Merge the MD5 checksum logic into the TCL interface. This facilitates building a tclsh that contains both SQLite and MD5. The plan is to use this augmented tclsh to help build the documentation. (check-in: a024c0a8 user: drh tags: trunk)
20:50
Add some sample requirement implementation comments to where.c. (check-in: 9854ad00 user: drh tags: trunk)
18:12
In shell, in shell_exec() logic, use type info if available when outputting in "insert" mode for other types in addition to blobs. Changed shell_exec() to use sqlite_prepare_v2(). Ticket [72adc99de9] and [7b61b6c6ce]. (check-in: ab99faca user: shane tags: trunk)
17:30
Updated shell to output blobs in X'1234' form when in "insert" mode. Ticket [72adc99de9]. (check-in: a2ad9e63 user: shane tags: trunk)
00:20
Add markings on test evidence for R-30323-21917. (check-in: e51af74c user: drh tags: trunk)
00:14
Mention the sqlite3_column_count() function on the same documentation page with all of the other sqlite3_column... interfaces. (check-in: 5354ace5 user: drh tags: trunk)
2009-10-21
14:33
Merge accidental fork back to trunk. (check-in: f63397ad user: shane tags: trunk)
14:11
Modified shell to call output_html_string() for header values in .mode html. Updated output_html_string() to support the 5 basic HTML entities (<,>,&,',"). Ticket [dc3a6e5b31]. (check-in: c8815fcd user: shane tags: trunk)
13:53
Made detectSchemaProblem function and aSchemaTable array static. Ticket [6f8b0c5855]. (check-in: c6f22f3e user: shane tags: trunk)
13:48
Add evidence marks to parse.y. Fix a broken evidence link in e_fkey.tcl. (check-in: 0441d28e user: drh tags: trunk)
03:56
For the shell, changed the output of the errors on lines 2910 and 2914 to goto stderr. I left the timer values going to stdout as all of the other interactive shell commands (startup banner, help, etc.) go to stdout and I felt this was more consistent. Ticket [43db771bb2]. (check-in: 8a8eeb0c user: shane tags: trunk)
03:42
For Windows version of shell, add support for .timer command using the GetProcessTimes() API if available (in the same way getrusage() is used on UNIX.) Ticket [89668ca167]. (check-in: 83216fbe user: shane tags: trunk)
02:00
For Windows VFS, modified xGetLastError() to call FormatMessage() with the FORMAT_MESSAGE_IGNORE_INSERTS option. Additionally updated to ensure strings are returned as UTF8. Ticket [39c85e8a4e]. (check-in: 761396f8 user: shane tags: trunk)
2009-10-20
15:27
Clarify the use of sqlite3_shutdown(). Ticket [f9af981dd2a2]. Comment changes only - no changes to code. (check-in: b2aa48b5 user: drh tags: trunk)
15:01
Fix the VACUUM command so that when the MAIN and TEMP databases have identically named tables, content from the TEMP database does not accidently overwrite MAIN database content. Ticket [d82e3f3721296e905d7e8c9dee718f71a826b0eb]. Note that this bug could potentially lead to database corruption. (check-in: 0bbd8d72 user: drh tags: trunk)
14:23
Remove all mention of sqlite3_next_stmt() from the documentation of sqlite3_close(). (check-in: f494ed38 user: drh tags: trunk)
14:08
Update documentation on the sqlite3_prepare_v2() interface. No changes to code. (check-in: 3b00e769 user: drh tags: trunk)
07:01
Fix cases where modifying bound variables using the clear_bindings() or transfer_bindings() APIs can invalidate a query plan. (check-in: e6808c98 user: dan tags: trunk)
2009-10-19
22:41
Remove an unreachable condition in the WHERE clause processing of bound parameters and replace it with an assert(), for test coverage. (check-in: 3bcd78a1 user: drh tags: trunk)
20:15
Fix an incorrect assert() in vdbeUnbind(). (check-in: 651c1efb user: drh tags: trunk)
18:30
Fix an assert() that may fail if sqlite3_step() is called on a statement after a previous call has already returned SQLITE_SCHEMA. (check-in: 63bf7345 user: dan tags: trunk)
18:11
Remove the sqlite3_reoptimize() API. The same functionality is now provided automatically to queries prepared using prepare_v2(). (check-in: 2c50b3d5 user: dan tags: trunk)
15:52
When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64]. (check-in: 6fe63711 user: dan tags: trunk)
07:50
Use 64-bit arithmetic in the xRead() method of asyncRead. Fix for [94c04eaadb]. (check-in: ca3e41b0 user: dan tags: trunk)
2009-10-17
14:19
Fix a problem in the icu.test script. (check-in: 8a21fdaf user: dan tags: trunk)
13:13
Make sure the target register is allocated before adding the bogus OP_Variable opcode in isLikeOrGlob(). Bugfix for the new sqlite3_reoptimize() logic. (check-in: e74f8dc4 user: drh tags: trunk)
08:26
Add documentation comment for new experimental API sqlite3_reoptimize(). (check-in: c48f8ffe user: dan tags: trunk)
2009-10-16
16:21
Merge the sqlite3_reoptimize() changes into the trunk. (check-in: 50136840 user: drh tags: trunk)
15:59
Fix a problem in the analyze3.test script. (Closed-Leaf check-in: 61174aea user: dan tags: experimental)
15:19
Remove a mutex reference leak from sqlite3_reoptimize(). (check-in: 9f093706 user: dan tags: experimental)
15:05
Comment cleanup in btree.c. (check-in: 32966ba4 user: drh tags: trunk)
14:55
Experimental fix for [f777251dc7]. This may be changed yet. (check-in: 174477bc user: dan tags: trunk)
13:23
Fix comment typos in btreeInt.h. (check-in: 550566a7 user: drh tags: trunk)
2009-10-15
23:03
When a forced rollback occurs, cause all active statements on the same database connection to halt immediately with an SQLITE_ABORT error code. This is a partial fix to ticket [f777251dc7]. (Closed-Leaf check-in: f256bc07 user: drh tags: trunk, experimental)
19:45
On any rollback, immediately interrupt all running statements on the same database connection. This is a partial fix for ticket [f777251dc7]. (Closed-Leaf check-in: c304b44c user: drh tags: experimental)
18:35
Add the experimental sqlite3_reoptimize() API. (check-in: 9bd6f3d8 user: dan tags: experimental)
2009-10-14
11:33
Version 3.6.19 (check-in: c1d499af user: drh tags: trunk, release)
2009-10-13
22:47
Update the configure script for version 3.6.19. (check-in: ac19dbc6 user: drh tags: trunk)
19:19
Fixed warnings with MSVC compile. (check-in: e0aa50c3 user: shane tags: trunk)
18:49
Fix a typo in the test script added for ticket [5ee23731f15]. (check-in: d0f55b5c user: drh tags: trunk)
18:38
Update the TCL wrapper to provide a non-NULL objProc pointer to the Tcl_NRCreateCommand() interface. The TCL gurus say this is needed to support legacy TCL extensions. (check-in: 1b3cfa01 user: drh tags: trunk)
15:42
Add a test case to verify that ticket [5ee23731f15] has been fixed. (check-in: f894ebf8 user: drh tags: trunk)
15:36
When a write transaction fails to being because the database is read-only, fail right away. Do not give the error code an opportunity to be overwritten with SQLITE_OK. Ticket [5ee23731f15]. (check-in: bc110117 user: drh tags: trunk)
13:08
Suppress some harmless compiler warnings. (check-in: 5d381daa user: drh tags: trunk)
12:48
Make sure mem3.c releases its mutex on an sqlite3_shutdown() call. (check-in: 16254ad5 user: drh tags: trunk)
10:39
Add further test cases to e_fkey.test. (check-in: c85e5874 user: dan tags: trunk)
2009-10-12
22:30
Add asserts as evidence that all FK constraints are either immediate or deferred. (check-in: 634ef4fc user: drh tags: trunk)
20:01
When processing FK constraints on changes to parent tables, make sure the names of child tables appear correctly in the output of EXPLAIN QUERY PLAN. (check-in: a4ab5215 user: drh tags: trunk)
18:57
Add more test cases to e_fkey.test. (check-in: 5633cb2b user: dan tags: trunk)
16:02
Fix some mappings from e_fkey.test. (check-in: 171c6713 user: dan tags: trunk)
15:25
Update e_fkey.test to match the latest version of foreignkeys.html. (check-in: a2ca9f1a user: dan tags: trunk)
11:27
Extra test cases mapped to statements in foreignkeys.html. (check-in: ffa6207d user: dan tags: trunk)
08:41
Add further test cases to e_fkey.test. (check-in: d61cc0e1 user: dan tags: trunk)
2009-10-10
15:49
Add tests to e_fkey.test. (check-in: 5ec07fee user: dan tags: trunk)
14:29
Update requirement text for sqlite3_open_blob(). Update evidence comment in e_fkey.test to conform to the latest requirement phrasing. (check-in: 89c548ac user: drh tags: trunk)
2009-10-09
18:16
Add test cases to e_fkey.test. (check-in: e391dfe7 user: dan tags: trunk)
2009-10-08
19:02
Test a couple of the examples in foreignkeys.html. (check-in: a2fb7902 user: dan tags: trunk)
17:42
Add test cases to test file "e_fkey.test". (check-in: 23e0f61a user: dan tags: trunk)
13:42
Fix a problem in the legacy genfkey code to do with column names that require quoting. (check-in: 273ccbf1 user: dan tags: trunk)
11:57
Add tests to test/e_fkey.test. (check-in: 533703d7 user: dan tags: trunk)
06:24
Update triggerC.test to match the change to the way the trigger-recursion limit is handled. (check-in: 58069252 user: dan tags: trunk)
01:43
Fix a segfault that can occur following an OOM fault while renaming a table holding foreign key constraints. (check-in: 33973814 user: drh tags: trunk)
2009-10-07
23:42
Use memcpy() rather than structure assignment so that memcmp() can later be used for comparison. Ticket [8550ecca70] (check-in: 56f609da user: drh tags: trunk)
18:41
Add some tests of statements in foreignkeys.html. (check-in: 83828679 user: dan tags: trunk)
16:04
Add a missing OP_Close opcode to VDBE programs that check for FK constraint violations. (check-in: 5caa4a2b user: dan tags: trunk)
11:29
Update the header comment for sqlite3_blob_open to note that it is not possible to write to a column that is indexed, part of a primary key or, if foreign key support is enabled, part of a foreign key. (check-in: 2fd487fd user: dan tags: trunk)
10:43
Update header file comments describing the sqlite3_changes and sqlite3_total_changes functions to describe how changes made by foreign key actions are handled. (check-in: 4c342c02 user: dan tags: trunk)
2009-10-06
14:59
Change tclsqlite.c to use the Tcl_NRxxx() APIs in Tcl versions 8.6 and later. (check-in: e9f72f1d user: dan tags: trunk)
2009-10-05
05:40
Fix some errors in the guttman versions (disabled by default) of the algorithms in rtree.c. (check-in: 64bad00b user: dan tags: trunk)
2009-10-03
07:04
Handle an SQLITE_IGNORE returned when requesting authorization to read parent key columns by pretending the parent key columns contain NULL values. (check-in: 3c24df38 user: dan tags: trunk)
2009-10-02
15:29
Add one more authentication test to fkey2.test to cover an untested branch. (check-in: e4fa8be7 user: dan tags: trunk)
14:23
When inserting a row into a child table, invoke the authorization callback to request permission to read the parent key columns. (check-in: 9842f2d5 user: dan tags: trunk)
06:35
Add a test to check that the incrblob API cannot be used to write to an IPK column. Also a comment to explain why the incrblob code does not need to check if a column is part of a parent key before writing to it. (check-in: dca2a7f6 user: dan tags: trunk)
2009-10-01
17:13
Add test cases to cover the branches added by the previous commit. (check-in: aaa005b6 user: dan tags: trunk)
16:09
If an update does not modify any child or parent key columns, omit foreign key processing for the statement. (check-in: edff3500 user: dan tags: trunk)
04:35
Add tests to check that FK support interacts with count-changes correctly. (check-in: 5b836615 user: dan tags: trunk)
2009-09-30
08:11
Remove unreachable branches from fkey.c. Add a few tests to cover the remaining branches. (check-in: 0a0a17d8 user: dan tags: trunk)
04:28
Change a couple of comments to use "SQLITE_MUTEX_OMIT" instead of OMIT_MUTEX. (check-in: b733e939 user: dan tags: trunk)
2009-09-29
16:38
Use the affinity and collation sequence associated with the parent key when finding child table rows to apply a foreign key action to. (check-in: 9a4b7ec2 user: dan tags: trunk)
15:41
Check that a unique index uses the default collation sequences for each column before using it as part of a foreign key constraint operation. (check-in: 64154174 user: dan tags: trunk)
11:28
Remove an unused variable from fkey.c. (check-in: 582bd768 user: dan tags: trunk)
06:33
Various fixes so that "make test" works with OMIT_FOREIGN_KEY, OMIT_TRIGGER and OMIT_ALTER_TABLE. (check-in: e4eb227b user: dan tags: trunk)
2009-09-28
18:52
Ignore foreign key mismatch errors while compiling DROP TABLE commands. (check-in: 5b4d4637 user: dan tags: trunk)
14:49
Fix the DROP TABLE command so that it cannot be used to bypass foreign key constraints (if foreign key support is enabled). (check-in: 8353808c user: dan tags: trunk)
11:54
Fix some foreign key constraint related problems that occur when a row refers to itself. (check-in: 9e503e2d user: dan tags: trunk)
2009-09-26
17:51
When ALTER TABLE RENAME TO is used to change the name of a table that is the parent table of a foreign key constraint, modify that foreign key constraint to use the new table name. (check-in: b4a10c39 user: dan tags: trunk)
2009-09-25
17:03
Avoid checking if an insert or delete has "fixed" an outstanding FK constraint violation if the constraint counter indicates that the database contains no such violations. (check-in: 519144ac user: dan tags: trunk)
12:00
Fix comments in fkey2.c to reflect the immediate-constraint-counter approach. (check-in: 9fd54b0a user: dan tags: trunk)
11:26
Prevent ALTER TABLE from being used to add a column with a REFERENCES clause and a non-NULL default value while foreign key support is enabled. (check-in: 353b1b18 user: dan tags: trunk)
2009-09-24
18:19
Fixes and test cases to make sure the affinity and collation sequence associated with the parent key is used when comparing it with a child key value. (check-in: 76e8e74b user: dan tags: trunk)
16:52
Fix a bug in the code for REPLACE conflict handling on IPK columns when there are no indexes on the table. Triggers and foreign key processing were being bypassed. (check-in: beb2094f user: dan tags: trunk)
15:16
Fix a problem in fkey.c when a child key is the IPK of its table. (check-in: 8a000a8a user: dan tags: trunk)
14:27
Remove the ALWAYS() added by the previous check-in. It is not needed. (check-in: 36568963 user: drh tags: trunk)
13:48
Comment enhancements. Add an ALWAYS macro in fkey.c to indicate a branch that is always taken. (check-in: d5b714cf user: drh tags: trunk)
11:31
Ensure foreign key related processing takes place when rows are deleted from the database by REPLACE conflict handling. (check-in: 3f40c142 user: dan tags: trunk)
10:42
Use sqlite3FkOldmask() in delete.c instead of assuming that foreign key constraints always require all columns of the deleted row to be stored in registers. (check-in: ce554a39 user: dan tags: trunk)
09:05
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect(). (check-in: 0443f7c9 user: dan tags: trunk)
00:09
Make sure a transaction is available for rollback whenever a REDUCE conflict resolution occurs and there is the possibility to ABORT. Ticket [4a03edc4c8c] (check-in: f0c56fa9 user: drh tags: trunk)
2009-09-23
18:49
More fkey tests. (check-in: 2d544bd5 user: shane tags: trunk)
18:07
Fix a problem with FK constraints that implicitly map to a composite primary key. (check-in: e0a48d53 user: dan tags: trunk)
17:31
Fix a problem in the fkey_malloc.test script. (check-in: 0ce1efa4 user: dan tags: trunk)
17:30
Do not check immediate foreign key constraints until the end of the statement. This matches the postgres behaviour. (check-in: 1a32149c user: dan tags: trunk)
15:51
Modify the ".dump" command on the CLI so that it always issues a PRAGMA foreign_keys=OFF at the top of the output. (check-in: 0755b9b6 user: drh tags: trunk)
14:45
Change the version number to 3.6.19. Fix a couple of incorrect testcase() macros associated with the new IS and IS NOT operators in expr.c. (check-in: e3b73394 user: drh tags: trunk)
13:59
Disallow using the implicit rowid column as the parent key of an FK constraint. (check-in: a5f7e71f user: dan tags: trunk)
13:39
Add test cases for the IS and IS NOT operator. (check-in: 101ed58c user: drh tags: trunk)
12:06
Add extra tests for foreign key support. (check-in: 7d086afe user: dan tags: trunk)
08:43
Add missing comments to fkey.c. Also, change the terminology used for comments and names in fkey.c from "referenced/referencing" to "parent/child". This is arguably less correct, but is easier to follow. (check-in: 540c2d18 user: dan tags: trunk)
03:01
Do not run ON UPDATE actions of a foreign key constraint unless at least one column value really does change. (check-in: 71ac8e28 user: drh tags: trunk)
02:29
Generalize the IS and IS NOT operators so that their right-hand side can be an arbitrary expression and not simple the constant NULL. They work like = and <> except that NULL values compare equal to one another an unequal to everything else. (check-in: 98853f61 user: drh tags: trunk)
2009-09-22
20:08
Factor the UMINUS and UPLUS tokens out of the parser so that the parser tables can go back to using 8-bit values instead of 16-bit values. (check-in: 3fc938c9 user: drh tags: trunk)
19:53
The NO ACTION action really should be no-action and not RESTRICT. (check-in: 55b263fa user: drh tags: trunk)
16:55
Fix another OOM related problem in fkey.c. (check-in: e2bc51bc user: dan tags: trunk)
16:08
Fix a problem with ON DELETE SET DEFAULT actions. (check-in: 94069950 user: dan tags: trunk)
15:53
Fix an OOM related crash in fkey.c. (check-in: 635d6a77 user: dan tags: trunk)
13:25
Allow specific exclusion of localtime_s() usage on Windows. (check-in: 216bcda7 user: shane tags: trunk)
07:13
Fix compilation errors when OMIT_FOREIGN_KEY is defined. (check-in: c447cb37 user: dan tags: trunk)
2009-09-21
18:56
Fix a problem with foreign key constraints that map from and IPK column. (check-in: 84129052 user: dan tags: trunk)
16:34
Fix compilation with both OMIT_UTF16 and ENABLE_STAT2 defined. Ticket [56928bd084]. (check-in: cd850d49 user: dan tags: trunk)
16:06
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030]. (check-in: fb6ceed3 user: dan tags: trunk)
2009-09-19
17:59
Add fkey.c to the autoconf and amalgamation build systems. (check-in: aab7a4b3 user: dan tags: trunk)
17:00
Check in implementation of foreign key constraints. (check-in: d5d39981 user: dan tags: trunk)
2009-09-17
00:41
When coding a trigger, assume that the "oldmask" requires all columns until we know otherwise. That pessimistic assumption assures that all necessary parameters are available on a cascading delete trigger. Ticket [e25d9ea771f] (check-in: 03e464be user: drh tags: trunk)
2009-09-14
23:47
Make sure sufficient space is allocated for at least one VDBE cursor when autoincrement is used. Ticket [a696379c1f088]. (check-in: 2b2a1ef7 user: drh tags: trunk)
2009-09-11
18:28
Set the execute permission bit on "configure". (check-in: f8c02b2b user: drh tags: trunk)
17:59
Make sure the (unsupported) configure script in the source tree has execute permission prior to constructing a tarball. Ticket [65bbb65a47ce]. (check-in: 5e0e941f user: drh tags: trunk)
14:05
Version 3.6.18 (check-in: b084828a user: drh tags: trunk, release)
2009-09-10
22:30
Omit the mutexIsInit test variable when mutexes are disabled. (check-in: 3ea10434 user: drh tags: trunk)
20:23
Fixed some warnings and an assert in the WINCE code when compiling under MSVC. (check-in: f42ec993 user: shane tags: trunk)
19:20
Make sure the threadsOverrideEachOthersLocks variable is only referenced by linux systems on a threadsafe compile. (check-in: e9d064bd user: drh tags: trunk)
19:09
Cleanup of warnings on MSVC build. (check-in: 5588cc96 user: shane tags: trunk)
18:26
Update an r-tree test to account for changes in the query planner. (check-in: e5ce66d4 user: dan tags: trunk)
18:17
Define SQLITE_TEST when compiling mem5.c for testfixture. (check-in: 6b16f3c9 user: dan tags: trunk)
18:04
Fix a problem in test script corrupt.test. (check-in: dad2b74a user: dan tags: trunk)
17:45
Add assert() statement to verify that new mutexes are not allocated when the mutex subsystem is uninitialized. (check-in: 1183c533 user: drh tags: trunk)
16:14
Fix a problem with the sqlite3VdbeMayAbort() assert failing following an OOM. (check-in: b3027863 user: dan tags: trunk)
10:15
Remove an ALWAYS macro around an expression that is sometimes false. (check-in: f2a9ee72 user: dan tags: trunk)
02:54
Reduce default SQLITE_MAX_TRIGGER_DEPTH when SQLITE_SMALL_STACK is defined. (check-in: 913fb70e user: shane tags: trunk)
2009-09-09
18:46
Trying to open a transaction in one thread and close it in another is a misuse with LinuxThreads. Doing so may cause memory and file-descriptors to be leaked. Update an assert() and some test cases to account for this. (check-in: ef99eb57 user: dan tags: trunk)
16:10
Suppress some harmless compiler warnings. (check-in: f0c72a53 user: drh tags: trunk)
15:29
Bug fix in the SQLITE_OPEN_PRIVATECACHE option added a few minutes ago. (check-in: f3a0f23b user: drh tags: trunk)
15:06
Add some tests that involve BEFORE UPDATE or BEFORE DELETE triggers messing with the row being updated or deleted. SQLite behaviour in this scenario is undefined, so the tests just check that the behaviour is relatively sane and there are no crashes. (check-in: 9a4c59a2 user: dan tags: trunk)
14:48
Update the README file to state that TCL is required in order to run the makefiles for SQLite. Ticket [7d96113ff]. (check-in: ba20091a user: drh tags: trunk)
14:17
Added SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags as possibilities to sqlite3_open_v2(), to override the global shared cache mode setting. Ticket [9fd0bc36639c15] (check-in: f509eb8b user: drh tags: trunk)
12:41
Increase the size of bitvec objects to 1024 bytes on 64-bit systems. (check-in: f1272b90 user: drh tags: trunk)
11:43
Add a test case to show that 29ab7be99f is fixed. (check-in: 135d656a user: dan tags: trunk)
11:37
Add a complicated assert() to check that statement transactions are opened when required. (check-in: 28aa1f4e user: dan tags: trunk)
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. (check-in: aec9dbd8 user: dan tags: trunk)
15:55
If recursive-triggers are enabled, fire DELETE triggers if database rows are removed as a result of OR REPLACE conflict resolution. (check-in: 85cb0c94 user: dan tags: trunk)
13:40
Additional simplifications in support of structural testing. (check-in: 4ab8c841 user: drh tags: trunk)
02:27
Further simplifications to the VDBE - removing functionality that is no longer used. (check-in: b271e166 user: drh tags: trunk)
01:14
Code simplifications, especially to the pseudo-table logic, and comment improvements. (check-in: 52449a95 user: drh tags: trunk)
2009-09-07
18:14
Add the SQLITE_LIMIT_TRIGGER_DEPTH option to sqlite3_limit(). (check-in: d7dc8b43 user: drh tags: trunk)
17:41
Merge 1958db4493 and 26cd015c0e. (check-in: ecbe0832 user: dan tags: trunk)
17:32
Fix a bug where a condition was incorrectly being compiled out when SQLITE_OMIT_VIRTUALTABLE was defined. (check-in: 1958db44 user: dan tags: trunk)
04:38
Warning cleanup from the MSVC compile. (check-in: 26cd015c user: shane tags: trunk)
03:48
Attempt to handle numbers at the limits of the IEEE 754 range better (nan.test now passes). (check-in: 2a74ae19 user: shane tags: trunk)
02:46
Changes to internal AtoF to improve "accuracy" when measured against built-in GCC atof(). (check-in: 438e1577 user: shane tags: trunk)
2009-09-03
16:23
Add the "unix-wfl" VFS that does whole-file locking in order to help NFS do better cache coherency. (check-in: 2aeab80e user: drh tags: trunk)
01:18
Do not reuse function parameters in subsequent expressions since the function call might have triggered a text encoding change. Fix for ticket [2ea2425d34be]. (check-in: f22e3887 user: drh tags: trunk)
2009-09-02
19:04
Documentation updates for the version info #defines and C interfaces. (check-in: 69055e9b user: drh tags: trunk)
2009-09-01
17:28
Fix a problem in main.c. SQLITE_NoRecTriggers -> SQLITE_RecTriggers. (check-in: 5ac69ed6 user: dan tags: trunk)
17:11
Change "PRAGMA disable_recursive_triggers" to "PRAGMA recursive_triggers". Also a fix for compiling with OMIT_TRIGGER defined. (check-in: e016cca3 user: dan tags: trunk)
16:39
Merge in changes to support recursive invocation of triggers (disabled by default). (check-in: c1b388c3 user: dan tags: trunk)
16:19
Add new test script triggerC.test. (check-in: a2a062a4 user: dan tags: trunk)
12:16
More fixes and comment updates. (check-in: 38a9327b user: dan tags: trunk)
2009-08-31
16:09
More thorough initialization of a buffer when writing the rollback journal header, in order to prevent a harmless valgrind warning. CVSTrac ticket #4039 (check-in: 5e2f5496 user: drh tags: trunk)
15:27
More fixes for test cases. (check-in: 85d9f23b user: dan tags: trunk)
08:22
Fix some authorization callback problems. (check-in: 8a746fbf user: dan tags: trunk)
05:39
Merge with main branch. (check-in: 6e09e287 user: dan tags: trunk)
05:23
Fix another test problem and some instances where an OOM may cause a segfault. (check-in: 31199db0 user: dan tags: trunk)
2009-08-30
11:42
Fixes for new triggers scheme. (check-in: 9eb91efd user: dan tags: trunk)
2009-08-28
18:53
Changes to support recursive triggers. (check-in: 9b9c1921 user: dan tags: trunk)
00:49
Add a new source code logo gif. (check-in: 6abcba10 user: drh tags: trunk)
2009-08-27
17:56
Patch to the named semaphore locking mechanism used by VxWorks. (check-in: 609c5341 user: drh tags: trunk)
2009-08-26
00:26
Updates to the pluggable page cache documentation. (check-in: 3085ad76 user: drh tags: trunk)
2009-08-25
16:28
Remove an unreachable branch from where.c in order to restore 100% branch test coverage. Add assert() and testcase() macros to verify that the branch is unreachable. (check-in: 58db7e71 user: drh tags: trunk)
15:56
Initialize variables differently in the range processing logic of where.c in order to make sure variables are always initialized even following an OOM error. (check-in: 3fb3686a user: drh tags: trunk)
14:59
Attempt to clarify the meaning of a "parameter" in the sqlite3_bind() API documentation. (check-in: 9389e6a7 user: drh tags: trunk)
14:24
Make sure that the output of EXPLAIN is right when the P4 argument of an opcode is of type P4_MEM with the MEM having type MEM_Blob. (check-in: 6a623e6c user: drh tags: trunk)
13:53
Avoid calling sqite3VdbeRecordCompare() with uninitialized memory following an OOM. Doing so is harmless, but it worries valgrind. (check-in: d33b9eb2 user: drh tags: trunk)
13:10
Fix an uninitialized variable in sqlite3VdbeIdxRowid(). (check-in: 6e787e18 user: drh tags: trunk)
12:11
Merge together the os_unix.c fix of [aa6acfa8ca] and the trigger fix of [dee1b8eb40]. (check-in: 1e2c6e13 user: drh tags: trunk)
05:57
Fix a bad interaction between "proxy-locking" and aa6acfa8ca. (check-in: 2a5c9e1d user: dan tags: trunk)
2009-08-24
19:37
Update the version number to 3.6.18, even though the actual release of that version is still a few weeks away. (check-in: c0ea4e9a user: drh tags: trunk)
18:57
Fix some errors in aa6acfa8ca. (check-in: 82d1934a user: dan tags: trunk)
01:35
Run the column cache in a new context when generating code for trigger programs. Fix for ticket [efc02f9779]. (check-in: dee1b8eb user: drh tags: trunk)
2009-08-22
19:17
Remove an obsolete documentation file left over from SQLite version 1.0. (check-in: f7eb1efc user: drh tags: trunk)
11:39
Fix a problem in os_unix.c where a malloc failure could lead to a leaked file descriptor. (check-in: aa6acfa8 user: dan tags: trunk)
2009-08-21
17:18
When a database file is opened, try to find an unused file descriptor to reuse. This change affects unix (and other systems that use os_unix.c) only. Fix for cvstrac ticket #4018. (check-in: 9b4d9ab6 user: dan tags: trunk)
13:22
Change the expression code generator to account for the fact that the new sqlite3AtoF() never returns NaN. Also, clarification of a comment in where.c. (check-in: 75f596a0 user: drh tags: trunk)
08:29
Add assert() statements to os_unix.c to check that the mutex is held when it should be. (check-in: 11a669b6 user: dan tags: trunk)
02:13
Updated sqlite3AtoF() that performs slightly better with GCC, and significantly better with MSVC. (check-in: f084f5a8 user: shane tags: trunk)
02:07
Updates for test_init.c for configure and other consistency changes. (check-in: 3ba316e9 user: shane tags: trunk)
2009-08-20
23:05
Remove a redundant OOM test from the sqlite_stat2 analysis loader. (check-in: d30ceeb8 user: drh tags: trunk)
20:05
Simplifications to the range-scan logic in support of structural testing. (check-in: bbbee810 user: drh tags: trunk)
18:14
Continuing refinements of the range-scan optimizations in where.c. The range scores are changed from an integer 1..9 to 0..100. (check-in: f0c24b5f user: drh tags: trunk)
16:11
Change the code that collects samples for sqlite_stat2 so that the first sample taken is the (nRow/(2*SQLITE_INDEX_SAMPLES))th entry in the index, where nRow is the total number of index entries. (check-in: cbfe6e9d user: dan tags: trunk)
13:45
Incremental code and comment cleanup in where.c. There is more to be done. (check-in: 4a5d9550 user: drh tags: trunk)
02:49
Set the "type" correctly of built-in BINARY collating sequences for UTF16. (check-in: 167644f3 user: drh tags: trunk)
02:34
All the sqlite3GetCollSeq() function to specify an arbitrary text encoding. (check-in: 4ee44322 user: drh tags: trunk)
2009-08-19
22:14
Make sure that sqlite3ValueFromExpr() sets the "type" field of the sqlite3_value object correctly when the value is a floating point number. (check-in: 2467eb68 user: drh tags: trunk)
17:17
Change the way an Expr that has been converted to TK_REGISTER stores its original opcode. The previous method, overloading Expr.iColumn, did not work in all cases. (check-in: 71ea9d0e user: dan tags: trunk)
16:34
Fix an assert() failure that may follow an OOM error. (check-in: 14a715c5 user: dan tags: trunk)
16:21
Merge 29cafcfdcc and a6f39181a7. (check-in: 740a93e8 user: dan tags: trunk)
15:57
Documentation improvements in sqlite.h.in. No changes to code. (check-in: a6f39181 user: drh tags: trunk)
15:34
Add some tests that use the sqlite_stat2 table in shared-cache mode. (check-in: 29cafcfd user: dan tags: trunk)
14:42
Merge with 709e16145e. (check-in: 6c8a0e2b user: dan tags: trunk)
14:34
Clean up sqlite_stat2 related code. Add test cases. (check-in: aa728e06 user: dan tags: trunk)
09:09
Fix a problem where a buffer allocated from a lookaside pool was being released using the system free(). (check-in: 67207a15 user: dan tags: trunk)
08:18
Add the SQLITE_ENABLE_STAT2 macro. If this is not defined at build-time, the stat2 table is not created, populated, or used. (check-in: 362665e8 user: dan tags: trunk)
04:24
Adjust sync count for SQLITE_DISABLE_DIRSYNC compiler option. (check-in: 709e1614 user: shane tags: trunk)
2009-08-18
16:24
Change the sqlite_stat2 schema to be more flexible. (check-in: ded9dec6 user: dan tags: trunk)
16:05
Unknown functions in the DEFAULT clause of a table cause an error when the DEFAULT value is needed. Ticket [2d401a94287b5]. (check-in: 093917d7 user: drh tags: trunk)
15:33
Move the allocation of the memsys5 mutex into the initializer. (check-in: 4e377a09 user: drh tags: trunk)
14:48
Fix obscure issues with the memsys5 memory allocator. Arrange that the xRealloc() interface to memory allocators is only called with a value that has been through xRoundup(). (check-in: 577bd6f1 user: drh tags: trunk)
12:16
When shutting down the memsys5 memory allocator, be sure to clear the mutex pointer in case the next startup does not use a mutex because it is configured differently. (check-in: d4e7e2d8 user: drh tags: trunk)
01:54
Fix a bug in mem5.c which would cause an infinite loop on an attempt to allocate more than 1073741824 bytes of contiguous memory. Also, some cleanup of mem5.c. More work to do on this. (check-in: 783b751a user: drh tags: trunk)
2009-08-17
17:06
First version of sqlite_stat2 (schema forces exactly 10 samples). (check-in: dd96bda2 user: dan tags: trunk)
16:01
Always call sqlite3_malloc() in sqlite3OsInit(), even when not compiled with SQLITE_TEST. (check-in: b98a8706 user: drh tags: trunk)
15:52
Move error simulation code from the sqlite3_os_init() functions into a wrapper. (check-in: 67ad21ab user: dan tags: trunk)
15:31
More documentation and comment updates for sqlite3_initialize/shutdown interface changes to handle failures. (check-in: 32509bc7 user: shane tags: trunk)
15:16
Add tests to check that sqlite recovers from an error in sqlite3_initialize() correctly. (check-in: 904a371c user: dan tags: trunk)
13:42
Enhanced documentation and minor code tweaks in preparation for hardening the sqlite3_initialize/shutdown interfaces against initialization failures. (check-in: 98c49e61 user: drh tags: trunk)
09:29
Add a test to verify that 3.6.17 releases read-locks obtained to read the database schema even if the connection is not currently in auto-commit mode. (check-in: 78dfe832 user: dan tags: trunk)
2009-08-14
18:18
Update the amalgamation builder so that it avoids putting redundant SQLITE_API macros on declarations. (check-in: 0d5b0587 user: drh tags: trunk)
17:53
Work around an over-zealous optimization in GCC 4.3.3. See CVSTrac ticket #4027. (check-in: 9cbe3654 user: drh tags: trunk)
17:01
Fix a case where SQLite may write past the end of a buffer as a result of a corrupted database file. (check-in: 43321a55 user: dan tags: trunk)
16:15
Fix to the "publish.sh" script that was broken by the previous check-in. (check-in: 34c21210 user: drh tags: trunk)
16:01
Incorporate fossil-scm version information into the build. Add the SQLITE_SOURCE_ID macro to the header. Add the sqlite3_sourceid() interface. Add the sqlite_source_id() SQL function. (check-in: 302dabe9 user: drh tags: trunk)
2009-08-13
20:15
Fix typos in comments used to generate documentation. CVSTrac tickets #4028 and #4029. (check-in: 1fc73b91 user: drh tags: trunk)
19:54
Tweak to the new whereB.test file to make it more consistent. (check-in: 06098505 user: drh tags: trunk)
19:21
If a binary operator in a WHERE clause that should be performed with no affinity conversions applied to its operands (see http://www.sqlite.org/datatype3.html) is optimized by index lookup, do not apply any conversions to the key value before looking it up in the index. Fix for [93fb9f89d6]. (check-in: e72186f2 user: dan tags: trunk)
18:14
Enhancements to the whereB.test to check more affinity corner cases. (check-in: 10484598 user: drh tags: trunk)
17:14
Add a test case for the affinity problem reported by ticket [93fb9f89d6]. (check-in: 149ec24e user: drh tags: trunk)
15:42
Merge the accidental fork. (check-in: 86a06dd0 user: drh tags: trunk)
15:13
Fix a typo on a comment in sqlite3VdbeIntegerAffinity(). (check-in: b5a709d3 user: drh tags: trunk)
07:09
Changes to the query planner that improve the order in which tables/indexes are scanned in join queries. (check-in: 19f799b3 user: dan tags: trunk)
2009-08-12
15:34
Fixed some compiler warnings in WINCE only sections when using the MSVC compiler. (check-in: 1f0a93e1 user: shane tags: trunk)
11:45
Make sure the large-file support macros occur first in sqliteInt.h. Fix for CVSTrac ticket #4022. (check-in: b0848925 user: drh tags: trunk, cvs-to-fossil-cutover)
2009-08-11
05:50
Instead of adding SQLITE_API macros sqlite3.h while creating sqlite3.c, add them as part of generating the sqlite3.h target, while copying from sqlite.h.in to sqlite3.h. This fixes a build problem that was causing multiple SQLITE_API macros to be added to a single line of sqlite3.h, and the problem cited by #4016. (CVS 6971) (check-in: 7f481074 user: danielk1977 tags: trunk)
2009-08-10
17:48
Reduce the maximum supported sector size to 64KiB. (CVS 6970) (check-in: 8e1e0ba2 user: drh tags: trunk)
15:16
Version 3.6.17 (CVS 6969) (check-in: 36650102 user: drh tags: trunk, release)
10:18
Update a couple of tests in corrupt7.test to account for a change in the error message text emitted by SQLite. (CVS 6968) (check-in: 3172a296 user: danielk1977 tags: trunk)
04:37
Exclude a static function in test1.c from the build when OMIT_DEPRECATED is defined. This avoids a compiler warning that occurs with some compilers. (CVS 6967) (check-in: ace49950 user: danielk1977 tags: trunk)
04:26
Change mallocI.test to close a database connection that was being left open. (CVS 6966) (check-in: 4f0096d7 user: danielk1977 tags: trunk)
03:57
Removed some warnings from the MSVC compile. (CVS 6965) (check-in: ee034cfc user: shane tags: trunk)
03:23
Fixed "Interlocked" logic error that prevented the "static" mutexes from being released when sqlite3_shutdown() is called. Ticket #4011. (CVS 6964) (check-in: 04cafb7e user: shane tags: trunk)
2009-08-08
18:01
Suppress various compiler warnings. (CVS 6963) (check-in: 257e9b57 user: drh tags: trunk)
2009-08-07
16:56
Enhancement to (6844). If sqlite3_exec() is to return SQLITE_NOMEM because it fails to allocate space for an error message, set the database error-code to SQLITE_NOMEM too. (CVS 6962) (check-in: 8293fa19 user: danielk1977 tags: trunk)
2009-08-06
18:36
Mark the rtreeUpdate function as static. (CVS 6961) (check-in: b6bdfdc6 user: danielk1977 tags: trunk)
17:43
Alternative fix for ticket #3810. This is a replacement for check-in (6956). (CVS 6960) (check-in: ba1afc04 user: drh tags: trunk)
17:40
Change a hyperlink label on shared cache mode documentation. No changes to code. (CVS 6959) (check-in: 3d08ca0e user: drh tags: trunk)
2009-08-05
04:08
Simplified conditional for read-only lock in winceLockFile() function. Ticket #3991. (CVS 6958) (check-in: a1c184cd user: shane tags: trunk)
2009-08-01
18:22
Make sure all database connections are closed at the end of the test case for ticket #3810. (CVS 6957) (check-in: 9bca5a0e user: drh tags: trunk)
16:27
Return a better error message when problems are encountered parsing a TEMP trigger or TEMP view that references objects in other databases that have been modified or dropped. Ticket #3810. (CVS 6956) (check-in: 102785b9 user: drh tags: trunk)
15:54
Add a testcase for ticket #3810. (CVS 6955) (check-in: 29972f74 user: drh tags: trunk)
15:09
Fix a segfault following OOM that was introduced by check-in (6949) which was a fix for ticket #3997. (CVS 6954) (check-in: 359d78e1 user: drh tags: trunk)
15:04
Increment the version number in preparation for the next release. (CVS 6953) (check-in: 12d9b873 user: drh tags: trunk)
2009-07-31
06:14
Fix a bug in where.c that could cause SQLite to write to freed memory while compiling a query with many terms in the WHERE clause. (CVS 6952) (check-in: 8161af84 user: danielk1977 tags: trunk)
2009-07-29
06:04
Add a test to mallocI.test to show that a shared lock is correctly released if an OOM condition occurs while parsing a database schema. (CVS 6951) (check-in: 5a82620e user: danielk1977 tags: trunk)
2009-07-28
16:44
Add the experimental API sqlite3_strnicmp(). Modify fts3 so that in terms like 'column_name:token' the column_name is interpreted in a case-insenstive fashion. Ticket #3996. (CVS 6950) (check-in: 4571aa9e user: danielk1977 tags: trunk)
13:30
When flattening a SELECT query, do not discard collation sequences explicitly attached to expressions in the parent query. Fix for #3997. (CVS 6949) (check-in: b2784cf5 user: danielk1977 tags: trunk)
08:43
Fixed reversed labels in WHERETRACE() statement. Debugging code only. (CVS 6948) (check-in: 614a8d83 user: shane tags: trunk)
2009-07-27
14:15
If there is a hot-journal in the file-system, a connection with journal_mode=memory set may have to open it to effect rollback. Account for this in pager_end_transaction(). This prevents an assert from failing in the in-memory journal permutation test. (CVS 6947) (check-in: 224bc69a user: danielk1977 tags: trunk)
11:41
Do not simulate OOM conditions in the sqlite3OsXXX() calls if the underlying file is an in-memory journal file. (CVS 6946) (check-in: d4868117 user: danielk1977 tags: trunk)
10:05
When extracting values from a record to use in an UPDATEd version of that record, apply OP_RealAffinity if required. Fix for #3992. (CVS 6945) (check-in: 3616766a user: danielk1977 tags: trunk)
2009-07-25
22:13
The noReadlock property on a pager object implies the readOnly property. Use this fact to simplify the logic in sqlite3PagerSharedLock(). (CVS 6944) (check-in: 886e665f user: drh tags: trunk)
19:31
Remove obsolete assert and testcase macros related to ticket #2565 (CVS 6943) (check-in: f0024b31 user: drh tags: trunk)
17:42
Adjust memory size computations to avoid a conditional that is always false on 64-bit systems. (CVS 6942) (check-in: 04211e6a user: drh tags: trunk)
17:39
Change an unreachable condition in PagerSharedLock to a NEVER(...). Add an assert to pager_error() to show that it is never called to put an in-memory pager to the error-state. (CVS 6941) (check-in: 1d931f77 user: danielk1977 tags: trunk)
17:33
Change a condition to a '%' operator in bitvec.c. (CVS 6940) (check-in: 10250fe5 user: drh tags: trunk)
17:08
More simplifications to pager.c. (CVS 6939) (check-in: 533d6cc6 user: drh tags: trunk)
15:24
Simplifications and comment improvements to pager.c in support of coverage testing. (CVS 6938) (check-in: 5b70b5c1 user: drh tags: trunk)
14:18
Add a NEVER() on an always-false conditional in pager.c. Make sure the text of the master journal file is zero-terminated before trying to process it - to prevent a buffer overrun in strlen(). (CVS 6937) (check-in: cc9430e3 user: drh tags: trunk)
13:42
Remove the "proc zeroblob" implementation from incrvacuum2.test. It is no longer required as of (6906) and, as #3988 points out, unreliable. (CVS 6936) (check-in: 03153831 user: danielk1977 tags: trunk)
11:46
Add files that should have gone in with the previous checkin. (CVS 6935) (check-in: 64c7afc7 user: danielk1977 tags: trunk)
11:40
Add a complex assert() that checks a pager invariant. (CVS 6934) (check-in: 2e08ad7b user: danielk1977 tags: trunk)
04:12
Add assert() statements to more tightly constrain the state of pager.c. Remove the three pager*.test scripts since they violate the constraints asserted above by modifying the state of the system in ways that it cannot be modified in a live system. (CVS 6933) (check-in: 3b6d370e user: drh tags: trunk)
00:13
Remove two more overzealous assert() statements. (CVS 6932) (check-in: 788aa9dd user: drh tags: trunk)
00:10
Remove an overzealous assert() from pager.c. (CVS 6931) (check-in: 4a924b47 user: drh tags: trunk)
2009-07-24
21:23
Fix an issue with the previous check-in, (6929). (CVS 6930) (check-in: e5165c80 user: drh tags: trunk)
19:01
Further simplifications to pager.c in support of structural coverage testing. (CVS 6929) (check-in: 866216c0 user: drh tags: trunk)
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) (check-in: 5d9e767a user: danielk1977 tags: trunk)
16:32
Simplifications to pager.c in support of structural coverage testing. (CVS 6927) (check-in: 7222ad26 user: drh tags: trunk)
12:35
Simplifications and comment improvements in pager.c. (CVS 6926) (check-in: 2d2f42ca user: drh tags: trunk)
2009-07-23
01:44
Simplifications and comment enhancements on btree.c. (CVS 6925) (check-in: 5ba880dd user: drh tags: trunk)
2009-07-22
18:24
Modify mksqlite3c.tcl so that it inserts SQLITE_API macros into sqlite3.h. Ticket #3983. (CVS 6924) (check-in: 803ec79f user: danielk1977 tags: trunk)
18:07
Simplifications to btree.c in support of coverage testing. (CVS 6923) (check-in: 375fd6f9 user: drh tags: trunk)
16:41
Avoid leaving a suspect page in the page-cache if an error occurs during sqlite3PagerAcquire(). (CVS 6922) (check-in: 2594f01c user: danielk1977 tags: trunk)
14:08
Fix a double-free that can occur after database corruption is detected. (CVS 6921) (check-in: 5260e8b1 user: danielk1977 tags: trunk)
13:19
Add a NEVER() macro around a pager.c conditional that must always be false in the current implementation. (CVS 6920) (check-in: 1e510d7f user: drh tags: trunk)
07:27
Changes to test code (only) to allow veryquick.test to run with OMIT_UTF16 builsd. Ticket #3985. (CVS 6919) (check-in: 7f3fc7f2 user: danielk1977 tags: trunk)
02:02
Remove an ALWAYS() from a condition that can in fact be false under very obscure circumstances. (CVS 6918) (check-in: 38083228 user: drh tags: trunk)
00:35
Further simplifications to btree.c, especially the sqlite3BtreeKey() and sqlite3BtreeData() functions. New assert() statements added to verify that these routines are called correctly. (CVS 6917) (check-in: 96cfd079 user: drh tags: trunk)
2009-07-21
19:25
Change getAndInitPage() (btree.c) to use only PagerAcquire(), not PagerLookup() and PagerAcquire(). (CVS 6916) (check-in: 0b41dfc0 user: danielk1977 tags: trunk)
19:02
Additional simplifications to btree.c in support of coverage testing. (CVS 6915) (check-in: 716fccea user: drh tags: trunk)
15:33
Remove an assert() in btree.c which is no longer true due to changes in the error reporting behavior of ptrmapPut(). (CVS 6914) (check-in: 110998f1 user: drh tags: trunk)
11:52
Changes to btree.c in support of coverage testing. (CVS 6913) (check-in: 4cf23e9e user: drh tags: trunk)
2009-07-20
19:30
Reverse the order of two conditionals in a test in order to achieve coverage of them both. Also: clarifications to comments in btree.c. (CVS 6912) (check-in: a159e9d2 user: drh tags: trunk)
17:11
Modify various routines inside btree.c to take a pointer to the return-code as a parameter and to no-op if the return-code storage location already contains a non-zero code. (CVS 6911) (check-in: 7dcf2a78 user: drh tags: trunk)
12:33
Use an ALWAYS() on a conditional in btmutex.c that is always true. (CVS 6910) (check-in: 609022ca user: drh tags: trunk)
12:25
Corrections to the comment that is inserted at the top of the amalgamation. Ticket #3981. (CVS 6909) (check-in: 7572991b user: drh tags: trunk)
11:32
Always provide a name for the TEMP database even if SQLite is compiled using SQLITE_OMIT_TEMPDB. (CVS 6908) (check-in: 0ba17c04 user: drh tags: trunk)
2009-07-18
20:01
Code tweaks in support of full-coverage testing. (CVS 6907) (check-in: 22c6dbfd user: drh tags: trunk)
14:36
Add some code to sqlite3VdbeMemSetZeroBlob() so that it works (less efficiently) even when OMIT_INCRBLOB is defined. Ticket #3977. (CVS 6906) (check-in: f5f7259d user: danielk1977 tags: trunk)
11:52
When the asynchronous IO backend opens a file with the EXCLUSIVE flag set, make sure only a single file-descriptor is opened (not one for reading and one for writing). This change fixes #3978. (CVS 6905) (check-in: 630e669b user: danielk1977 tags: trunk)
08:30
Changes to test scripts so that (make test) works when OMIT_INCRBLOB is defined. (CVS 6904) (check-in: 1dd834a3 user: danielk1977 tags: trunk)
2009-07-17
17:25
Fix a subtle problem that can occur when a transaction is automatically rolled back, and afterwards a VM that had opened a statement transaction within the abandoned transaction is finalized. Fixes an assert() that was failing in rtree3.test. (CVS 6903) (check-in: 910df46e user: danielk1977 tags: trunk)
16:54
Return a meaningful error message if a keyword is used as an rtree table column name. Ticket #3970. (CVS 6902) (check-in: 046efe46 user: danielk1977 tags: trunk)
14:37
Skip all tests in tableapi.test if SQLITE_OMIT_GET_TABLE defined. Ticket #3975. (CVS 6901) (check-in: 0219a543 user: shane tags: trunk)
11:44
Code simplifications in support of structural testing. (CVS 6900) (check-in: fb1b955d user: drh tags: trunk)
2009-07-16
18:21
Code simplifications and comment improvements in support of structural coverage testing. (CVS 6899) (check-in: 94525179 user: drh tags: trunk)
12:41
Remove an unused variable from sqlite3ExprListDup(). Ticket #3973. (CVS 6898) (check-in: 17c05aef user: drh tags: trunk)
2009-07-15
18:15
Fix a potential database corruption following DROP TABLE when the pending byte page corresponds to a ptrmap page. This situation cannot happen in a real deployment - but it still needs to be fixed. (CVS 6897) (check-in: 6242db39 user: drh tags: trunk)
17:25
Simplifications to btree.c in support of structural testing. Renamed the "skip" field of the BtCursor object to "skipNext" to make it easier to search for places where it is used. (CVS 6896) (check-in: d3897235 user: drh tags: trunk)
16:30
Remove an assert() from vdbeaux.c that might not be true if the database file is corrupt. (CVS 6895) (check-in: a42dc51e user: drh tags: trunk)
11:26
Added the SQLITE_TESTCTRL_RESERVE option to sqlite3_test_control(). Simplifications to btree.c to facilitate structural coverage testing. (CVS 6894) (check-in: cfbeda1b user: drh tags: trunk)
2009-07-14
18:35
Add comments and assert() statements to show that the return value from sqlite3BtreeKeySize() and sqlite3BtreeData() usually do not matter. Ticket #3968. Also remove a NEVER() macro that can sometimes be true - discovered while testing the previous change. (CVS 6893) (check-in: 0c710c1b user: drh tags: trunk)
17:48
Simplifications to the PRAGMA integrity_check logic. Remove unreachable code. (CVS 6892) (check-in: 17749fa5 user: drh tags: trunk)
14:15
Simplifications and tweaks to vdbeaux.c resulting from structural testing. (CVS 6891) (check-in: fa49666f user: drh tags: trunk)
02:33
Make sure the IN operator works with zeroblobs. Ticket #3965. Other simplifications associated with structural testing. (CVS 6890) (check-in: 25dd3422 user: drh tags: trunk)
2009-07-13
15:52
Remove the SQLITE_CommitBusy flag. This was an attempt to block recursion on the sqlite3_commit_hook() interface. But such recursion is explicitly disallowed, so the flag is pointless. (CVS 6889) (check-in: 1c2bfc43 user: drh tags: trunk)
13:18
Change an unreachable condition in btree.c to a NEVER(). (CVS 6888) (check-in: 9f800e11 user: danielk1977 tags: trunk)
11:22
In sqlite3PagerWrite(), do not set the PGHDR_NEED_SYNC flag on a page if an IO error occured while attempting to journal it. (CVS 6887) (check-in: b9be365d user: danielk1977 tags: trunk)
09:41
Remove an assert ("assert( subpage>0 )") from btree.c that may not be true for a corrupt database. Also add comments and other assert() statements to btree.c function moveToRoot(). (CVS 6886) (check-in: 3151dab9 user: danielk1977 tags: trunk)
07:30
Remove a case from BtreeMovetoUnpacked() that is unreachable as of (6881). (CVS 6885) (check-in: 39ce2097 user: danielk1977 tags: trunk)
2009-07-12
02:32
Simplifications to btree.c to help facilitate coverage testing. (CVS 6884) (check-in: dfb146ef user: drh tags: trunk)
02:31
When an OOM fault occurs while moving a page for autovacuum in an in-memory database, be sure to undo the page move prior to returning the error, to avoid corrupting the in-memory database file. (CVS 6883) (check-in: d0964b93 user: drh tags: trunk)
2009-07-11
18:26
Remove an unused parameter from the accessPayload() function in btree.c. (CVS 6882) (check-in: 7deb6568 user: drh tags: trunk)
17:39
Fix a case where deleting a row from a corrupt database could cause an assert to fail. (CVS 6881) (check-in: 6994b41a user: danielk1977 tags: trunk)
17:04
Bug fix in the computation of the number of pages to autovacuum when nReserve is greater than zero. (CVS 6880) (check-in: 618a83d6 user: drh tags: trunk)
13:13
Unwind some complex conditions in sqlite3BtreeDelete() into separate "if" statements. (CVS 6879) (check-in: d99bde9c user: drh tags: trunk)
11:45
Remove another unreachable branch from btree.c. (CVS 6878) (check-in: b0853100 user: danielk1977 tags: trunk)
06:55
Modify the integrity-check code so that each b-tree page inspected is reinitialized while doing so, even if an initialized copy exists in the cache. This prevents an assert from failing when running integrity_check on a corrupt database. (CVS 6877) (check-in: 709576c6 user: danielk1977 tags: trunk)
05:06
Remove unreachable condition from btree.c. (CVS 6876) (check-in: 47b40fef user: danielk1977 tags: trunk)
2009-07-10
16:51
Fix a pager reference count leak in btree that occurs on an OOM following a database page size change. (CVS 6875) (check-in: c6dfc8bd user: drh tags: trunk)
09:24
Fix a double-free that can occur when using the fts3 legacy syntax '-' operator. Add tests for the same operator. Ticket #3960. (CVS 6874) (check-in: c19d419e user: danielk1977 tags: trunk)
02:52
Simplifications to the PRAGMA integrity_check logic in btree.c. (CVS 6873) (check-in: 440c573c user: drh tags: trunk)
2009-07-09
13:25
Fix two faulty assert() statements btree. (It was possible for the assertions to be false given a corrupt database file as input.) (CVS 6872) (check-in: 9403f04d user: drh tags: trunk)
11:36
Remove an unused branch from btree.c. (CVS 6871) (check-in: 45efb78a user: danielk1977 tags: trunk)
08:27
In btree.c, have setSharedCacheLock() assume that the b-tree is sharable instead of checking to see if it is. The caller has already performed this check. (CVS 6870) (check-in: 3190eefd user: danielk1977 tags: trunk)
05:07
Restore (btree_set_cache_size) to test3.c. This is used on unix for the tcl "crash tests". Make some functions no longer used outside of btree.c static. (CVS 6869) (check-in: 1d96ce8c user: danielk1977 tags: trunk)
03:20
removed the test function sqlite3BtreeFlags() (test code only); (CVS 6868) (check-in: 579ba6c8 user: shane tags: trunk)
02:48
removed unused functions from test3.c (test code only); (CVS 6867) (check-in: 0eb69e8d user: shane tags: trunk)
02:24
Simplifications and additional testcase() macros for btree.c. (CVS 6866) (check-in: 1b8c3a82 user: drh tags: trunk)
2009-07-08
18:50
Fix a typo in (6861): "ifndef SQLITE_TEST" -> "ifdef SQLITE_TEST". (CVS 6865) (check-in: 890dbab2 user: danielk1977 tags: trunk)
18:45
Revert part of (6860) that was accidentally checked in. (CVS 6864) (check-in: 11e295cc user: danielk1977 tags: trunk)
18:12
Add another boundary-condition testcase() macro to btree.c. Correct the comment on modifyPagePointer(). (CVS 6863) (check-in: fed66e86 user: drh tags: trunk)
16:54
Improvements to comments in btree.c:freeSpace(). Added a testcase() macro to verify a boundary case is tested in sqlite3BtreeInitPage(). (CVS 6862) (check-in: 5ac991b3 user: drh tags: trunk)
15:14
Comment out sqlite3BtreeFlags() when not in debug mode. Tweaks to database corruption detection logic in freeSpace(). (CVS 6861) (check-in: 196cbf82 user: drh tags: trunk)
13:55
Fix error handling in sqlite3BtreePutData(). (CVS 6860) (check-in: 86eba4f1 user: danielk1977 tags: trunk)
08:05
Remove an ALWAYS clause that could be false if an IO error within a statement executed by a virtual table caused an emergency rollback. (CVS 6859) (check-in: 0cc705c2 user: danielk1977 tags: trunk)
01:49
Simplifications to sqlite3BtreeInsert() and allocateSpace(). Added many testcase() macros to verify boundary conditions in btree.c. (CVS 6858) (check-in: aab82a22 user: drh tags: trunk)
2009-07-07
17:38
Improvements to corrupt database detection in defragmentPage(). (CVS 6857) (check-in: 87bbc8d6 user: drh tags: trunk)
15:47
Do not load the root-page of a b-tree table/index when opening a cursor. Instead, allow it to be loaded when the cursor is first used (in function moveToRoot()). Also move the root-page flags sanity checks that were a part of the OP_OpenRead/OpenWrite opcodes into the moveToRoot() function. (CVS 6856) (check-in: 06dcfe72 user: danielk1977 tags: trunk)
13:56
If an error occurs in PagerBegin(), call pager_end_transaction() to reset the internal state of the pager object. (CVS 6855) (check-in: ea7ed166 user: danielk1977 tags: trunk)
11:39
Fix a reference count problem following database corruption detection in the ptrmapPut() routine of btree.c. (CVS 6854) (check-in: ec1e27e3 user: drh tags: trunk)
02:44
Simplifications to btree.c and vdbeaux.c in support of structural coverage testing. (CVS 6853) (check-in: fc2a40a9 user: drh tags: trunk)
2009-07-06
21:54
Fix the pager so that it remembers the name of the journal for an in-memory database as an empty string. This is important when committing a multi-database transaction that includes one or more attached memory databases. (CVS 6852) (check-in: 31a5e819 user: drh tags: trunk)
19:03
Fix the backup logic so that it detects a failure to sqlite3BtreeUpdateMeta() and reports that failure back up to the top level. (CVS 6851) (check-in: 471b92f2 user: drh tags: trunk)
18:56
Make the sqlite3BtreeMoveto function static, since it is only used from within btree.c. Remove unused function lockBtreeWithRetry from btree.c. (CVS 6850) (check-in: 30d5ec62 user: danielk1977 tags: trunk)
00:44
Simplifications and comment cleanup in vdbeaux.c. (CVS 6849) (check-in: 1636e783 user: drh tags: trunk)
2009-07-04
17:16
Remove unreachable code from function btreeCursor() in btree.c. (CVS 6848) (check-in: c76a366e user: danielk1977 tags: trunk)
15:41
Remove a redundant branch from btree.c. (CVS 6847) (check-in: 133357d2 user: danielk1977 tags: trunk)
2009-07-03
22:54
Remove two unused fields from the Parse structure. The TCL interface now removes leading whitespace from SQL statements before parsing them. (CVS 6846) (check-in: 983cb692 user: drh tags: trunk)
19:19
Remove unused code (that was commented out) from prepare.c. Remove an incorrect NEVER() macro. Fix the comment on schemaIsValid() to correctly describe its return behavior. (CVS 6845) (check-in: 90deb658 user: drh tags: trunk)
19:18
Cause sqlite3_exec() to return SQLITE_NOMEM if it cannot allocate memory to hold the error message for some other error. (CVS 6844) (check-in: e9849292 user: drh tags: trunk)
17:23
Remove an unused variable from the test code in test3.c. (CVS 6843) (check-in: 9e35bec9 user: drh tags: trunk)
17:09
Add a version of the Lemon parser template "lempar.c" to the src/ subfolder. This new parser template contains a couple of NEVER() macros that disable tests that are needed for general grammars but not for the specific grammar used by SQLite. SQLite builds with the modified lempar.c. (CVS 6842) (check-in: d426cc64 user: drh tags: trunk)
16:25
Simplify the way the read-uncommitted flag is handled to facilitate test coverage. (CVS 6841) (check-in: e2112d61 user: danielk1977 tags: trunk)
15:37
Make explicit the restrictions on UPDATE, DELETE, and INSERT statement syntax within triggers. Ticket #3947. (CVS 6840) (check-in: c8bf40df user: drh tags: trunk)
12:57
Test the result of pthread_create() and do not call pthread_join() if the thread creation failed. Ticket #3933. (CVS 6839) (check-in: 304c5110 user: drh tags: trunk)
2009-07-02
18:40
Fix to sqlite3AuthRead to accommodate "new" or "old" references that are used in a context where a column reference may also be used (i.e. "SELECT new.
17:21
When a b-tree transaction is committed when there are open cursors, downgrade shared-cache write-locks to read-locks instead of relinquishing all locks. Fix for #3942. (CVS 6837) (check-in: 611e704f user: danielk1977 tags: trunk)
07:47
Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836) (check-in: e3c055f1 user: danielk1977 tags: trunk)
05:23
Fix for compilation with OMIT_AUTOVACUUM defined. Ticket #3940. (CVS 6835) (check-in: 8f0591ae user: danielk1977 tags: trunk)
2009-07-01
18:09
Change to test code and scripts allowing memsys3 to be tested using a build that has both memsys3 and memsys5 enabled. (CVS 6834) (check-in: a00aeec2 user: danielk1977 tags: trunk)
18:04
Fix a 1-byte buffer overwrite that can occur when a virtual table overloads an SQL function. (CVS 6833) (check-in: bfe336a8 user: danielk1977 tags: trunk)
16:12
Report an error if a USING or ON clause is specified following a from-list element that is not to the right of a join operator. Fix for #3846. (CVS 6832) (check-in: 29b48972 user: danielk1977 tags: trunk)
14:56
Do not ignore alias "a" in a query of the form "SELECT ... FROM (...) AS a" Fix for #3935. Also expand upon (6751) to fix some similar obscure memory leaks. (CVS 6831) (check-in: 42f9d1e5 user: danielk1977 tags: trunk)
2009-06-29
06:00
Cause incremental-blob read/write operations lock shared-cache tables in the same way as normal SQL read/writes. Add complex assert statements to make sure tehe correct shared-cache locks are held when accessing the database. Eliminate some redundant checks from btree.c. (CVS 6830) (check-in: f17ef378 user: danielk1977 tags: trunk)
2009-06-27
14:10
Version 3.6.16 (CVS 6829) (check-in: ff691a6b user: drh tags: trunk, release)
11:17
Fix an instance where sqlite3JumpHere() might be called with a negative address following an OOM fault. (CVS 6828) (check-in: 49f22e55 user: drh tags: trunk)
00:48
Fix a bug in sqlite3_realloc() - if called with a size of more than 2147483392 it returns 0 but it also releases the prior allocation. (CVS 6827) (check-in: 653df0af user: drh tags: trunk)
2009-06-26
18:35
Remove incorrect NEVER() macros from malloc.c. The allocations can be exceeded using sqlite3_malloc() and sqlite3_realloc(). (CVS 6826) (check-in: 0d345e59 user: drh tags: trunk)
16:32
Removed a few compiler warnings under MSVC. (CVS 6825) (check-in: f01a9fc3 user: shane tags: trunk)
15:14
Remove the priorNewRowid field from the sqlite3 structure. Use the last_insert_rowid as the initial value when searching for a new random rowid in the OP_NewRowid opcode. (CVS 6824) (check-in: 96729b2d user: drh tags: trunk)
14:17
Skip a couple tests requiring working 64bit int support on platforms without that support. Test code change only. (CVS 6823) (check-in: d8c8145c user: shane tags: trunk)
14:04
When sqlite3VdbeAddOp() fails due to an OOM fault, return an address of 1 rather than zero so that there appears to always be a prior instruction. This prevents a negative jump-to address computation in where.c following an OOM fault. (CVS 6822) (check-in: fe02339c user: drh tags: trunk)
12:30
Fix a test script problem in exclusive.test. (CVS 6821) (check-in: a52ef5a4 user: danielk1977 tags: trunk)
12:15
Fix the new pager.c changes so that they compile with IOTRACE defined. Fix an out-of-order variable definition in vdbeaux.c. (CVS 6820) (check-in: ac145028 user: drh tags: trunk)
10:39
Another change to test_journal.c to account for (6817). Again, only test code has changed. (CVS 6819) (check-in: 58884b6c user: danielk1977 tags: trunk)
09:01
Update test_journal.c to account for (6817). Changes to test code only. (CVS 6818) (check-in: 542ee8cc user: danielk1977 tags: trunk)
07:12
Avoid writing the 8-byte journal-header magic until the journal-header is synced. In persistent journal-mode, this prevents any old content that follows an unsynced journal-header from being interpreted as part of the rollback journal. (CVS 6817) (check-in: a5ecffcf user: danielk1977 tags: trunk)
2009-06-25
16:11
Fix a problem with a return code being ignored in insertCell(). (CVS 6816) (check-in: bb5f1c01 user: danielk1977 tags: trunk)
11:50
Get the notify2.test running again by removing an ALWAYS() that was mistakenly inserted and by taking care not to report corruption following an SQLITE_LOCKED failure during schema parsing. (CVS 6815) (check-in: 6e9140a7 user: drh tags: trunk)
09:40
Replace an "if" condition that is always true in btree.c with an assert(). (CVS 6814) (check-in: daadbd9a user: danielk1977 tags: trunk)
01:47
Improved handling of oversize string and blob errors. Other simplifications in support of full coverage testing. (CVS 6813) (check-in: 8b340766 user: drh tags: trunk)
2009-06-24
13:16
Remove an ALWAYS() macro from vdbe.c that sometimes fails on thread tests. (CVS 6812) (check-in: 52eac078 user: drh tags: trunk)
13:13
Disable the new malloc-37 test when locking_mode==exclusive. The test basically works, but sometimes reports "database is locked" instead of "out of memory" and that messes up the error reporting. (CVS 6811) (check-in: 3b8f9dec user: drh tags: trunk)
11:08
Remove a declaration of the sqlite3Assert() function that was deleted by the previous check-in. (CVS 6810) (check-in: ee20b6a2 user: drh tags: trunk)
10:26
Remove the sqlite3Assert() function. The ALWAYS() and NEVER() macros call assert() directly when compiled with SQLITE_DEBUG. (CVS 6809) (check-in: d8fc373f user: drh tags: trunk)
05:40
Simplify things by rolling the functionality of balance_shallower() into balance_nonroot(). (CVS 6808) (check-in: 11750c6a user: danielk1977 tags: trunk)
2009-06-23
20:28
Enhance autoincrement so that it works with triggers that also do autoincrement inserts, even multiple inserts into the same table. Ticket #3928 (CVS 6807) (check-in: 1330993d user: drh tags: trunk)
16:40
Remove a condition from balance_nonroot() that is always true. (CVS 6806) (check-in: c5dc80e6 user: danielk1977 tags: trunk)
15:43
Call balance_shallower() from balance_nonroot() instead of from balance(). This simplifies coverage testing a bit. (CVS 6805) (check-in: da9893e2 user: danielk1977 tags: trunk)
14:39
Update the configure script for version 3.6.16 (CVS 6804) (check-in: b614e554 user: drh tags: trunk)
14:18
Update the version number in preparation for the next release. (CVS 6803) (check-in: 207c4a02 user: drh tags: trunk)
14:15
Simplifications to vdbe.c to promote better test coverage. (CVS 6802) (check-in: 3ffc93d7 user: drh tags: trunk)
11:53
Add a test to verify that #3929 is fixed. (CVS 6801) (check-in: 16c1ae9b user: danielk1977 tags: trunk)
11:22
Fix a failing assert in btree.c. The same bug was causing a spurious SQLITE_CORRUPT return when compiled without SQLITE_DEBUG. (CVS 6800) (check-in: 47ec8749 user: danielk1977 tags: trunk)
2009-06-22
19:05
Simplifications to vdbe.c and it service routines in support of coverage testing. (CVS 6799) (check-in: 308f2e61 user: drh tags: trunk)
18:03
Remove a condition that is always true from btree.c. (CVS 6798) (check-in: 3ec8b37a user: danielk1977 tags: trunk)
12:05
Make sure sqlite3BtreeCreateTable() returns an error code if the largest rootpage field is invalid in auto_vacuum mode. Update file-format comments to describe all of the "meta" values. (CVS 6797) (check-in: bda38f5e user: drh tags: trunk)
11:10
More simplifications to vdbe.c. Remove a NEVER() from vdbe.c that is possible after all. (CVS 6796) (check-in: c8f009bd user: drh tags: trunk)
05:43
If an OOM error occurs just after obtaining a shared lock on the database file, release the lock before returning. (CVS 6795) (check-in: 971a9650 user: danielk1977 tags: trunk)
00:55
Simplifications to vdbe.c in support of coverage testing. (CVS 6794) (check-in: 16680f05 user: drh tags: trunk)
2009-06-20
18:52
When recovering from the error-state in pagerSharedLock(), do not search for a hot-journal in the file-system if the pager is configured to use an anonymous temp file as the journal. (CVS 6793) (check-in: 4b46805c user: danielk1977 tags: trunk)
11:54
If after obtaining an exclusive lock to rollback a hot-journal file it is found that the journal file has been deleted, do not return an SQLITE_BUSY error. Just downgrade the lock and continue with the current operation. This eliminates a spurious SQLITE_BUSY error caused by a race condition. (CVS 6792) (check-in: 9a066600 user: danielk1977 tags: trunk)
2009-06-19
22:50
Improved documentation on the VFS methods. Ticket #3925. (CVS 6791) (check-in: f66fc771 user: drh tags: trunk)
22:23
Do now allow a COMMIT to occur while even a single write operating is in progress. (CVS 6790) (check-in: 605520ec user: drh tags: trunk)
18:32
Fix the comment on the sqlite3PExpr() subroutine. Ticket #3924. (CVS 6789) (check-in: 4bb96db6 user: drh tags: trunk)
17:50
If a call is made to sqlite3PagerAcquire when there are no outstanding references to any pages and the pager is in the error-state, try to exit the error-state at this point. Previously this was only attempted if the pager was configured to use exclusive mode. (CVS 6788) (check-in: 62db08bc user: danielk1977 tags: trunk)
16:44
Make sure group_concat() ignores initial NULL values. (CVS 6787) (check-in: 90c3b23c user: drh tags: trunk)
14:06
Reorganize and cleanup the prepared statement object. Remove code that has been commented out for ages and is no longer relevant to anything. (CVS 6786) (check-in: 37ae5f5e user: drh tags: trunk)
02:25
Fix a possible segfault when backing up an encrypted database. (CVS 6785) (check-in: 7d8f178c user: drh tags: trunk)
00:33
Make sure the sqlite3VdbeGetOp() subroutine works even when SQLite is compiled with SQLITE_OMIT_TRACE. (CVS 6784) (check-in: 1c8ec2a6 user: drh tags: trunk)
2009-06-18
20:52
Changes to the backup functionality so that it works better with codecs. (CVS 6783) (check-in: 87d6796d user: drh tags: trunk)
17:22
Move codec management from database connections into the pager so that it will work together with shared cache. (CVS 6782) (check-in: ed08b53c user: drh tags: trunk)
11:34
Update the filefmt.test test script to conform to the previous check-in. (CVS 6781) (check-in: 40a40e81 user: drh tags: trunk)
11:29
Reduce the minimum usable page space to 480 byte from 500 bytes. (CVS 6780) (check-in: db4fb835 user: drh tags: trunk)
00:41
Remove the P3 operand from OP_IsNull since it was not being used. (CVS 6779) (check-in: 767ef1e4 user: drh tags: trunk)
2009-06-17
22:50
Avoid an assertion fault if an out-of-memory error occurs while trying to run the string-concatentation operator on a zero-blob. (This is an absurd thing to do, but even so, we still should not fault.) (CVS 6778) (check-in: 0def0b76 user: drh tags: trunk)
21:42
Fix a problem in vdbe.c that could cause a double-free of memory if the SQLITE_LIMIT_LENGTH is changed after a statement is prepared but before it is run. Also remove debugging statements from tkt3841.test. (CVS 6777) (check-in: 3d7327fd user: drh tags: trunk)
16:20
Use caution to avoid integer overflow when doing real to integer affinity operations. Ticket #3922. (CVS 6776) (check-in: 39255946 user: drh tags: trunk)
13:57
Fix a potential segfault following database corruption. Problem made visible by check-in (6772). (CVS 6775) (check-in: 69eb0ff8 user: drh tags: trunk)
13:09
Suppress some -Wextra compiler warnings from GCC. (CVS 6774) (check-in: 59ec937c user: drh tags: trunk)
11:49
Fix a bug affecting secure-delete mode introduced by (6768). (CVS 6773) (check-in: a433ca82 user: danielk1977 tags: trunk)
11:13
Fix for #3918. Also, fix the TRACE macros in balance_nonroot(). (CVS 6772) (check-in: 368e44ec user: danielk1977 tags: trunk)
01:17
A minor simplification to the tokenizer. (CVS 6771) (check-in: 18f2076a user: drh tags: trunk)
00:35
Changes to prepare.c and callback.c to promote better test coverage. (CVS 6770) (check-in: 08cca219 user: drh tags: trunk)
2009-06-16
17:49
Changes sqlite3_prepare_v2() (and related routines) so that if it fails due to a missing table and the schema is out of date, it retries once before returning SQLITE_SCHEMA. Other changes to prepare.c to facilitate coverage testing. (CVS 6769) (check-in: 256ec3c6 user: drh tags: trunk)
16:50
Changes to balance_nonroot() and BtreeDelete() to simplify delete operations and reduce stack/heap usage while balancing b-tree structures. (CVS 6768) (check-in: 092b276e user: danielk1977 tags: trunk)
14:15
Fix a link error and warning that can occur in where.c when compiling under MSVC with SQLITE_OMIT_VIRTUALTABLE defined. Ticket #3914. (CVS 6767) (check-in: 793c93be user: shane tags: trunk)
04:35
Leave out a redundant line in build.c. Ticket #3916. (CVS 6766) (check-in: d9f997ae user: danielk1977 tags: trunk)
04:31
Remove a duplicate assert from btree.c. Ticket #3915. (CVS 6765) (check-in: d89542cd user: danielk1977 tags: trunk)
2009-06-15
23:15
Additional updates to the symbol resolver and expression tree walker to facilitate test coverage. (CVS 6764) (check-in: a49c2d4b user: drh tags: trunk)
20:45
Changes to allow a clean compile with no floating-point instructions generated when SQLITE_OMIT_FLOATING_POINT is used. (CVS 6763) (check-in: 1591b832 user: drh tags: trunk)
18:32
Updates to resolve.c to facilitate full coverage testing. (CVS 6762) (check-in: c50f0f28 user: drh tags: trunk)
16:27
Fix compiler warnings with MSVC build. (CVS 6761) (check-in: e1e64307 user: shane tags: trunk)
03:28
Version 3.6.15 (CVS 6760) (check-in: aff34826 user: drh tags: trunk, release, version-3.6.15)
00:04
Update the configuration script for version 3.6.15. (CVS 6759) (check-in: 14df65dc user: drh tags: trunk)
2009-06-14
12:47
Detect database corruption and abort balance_nonroot() before the corruption causes problems. (CVS 6758) (check-in: 3448b39d user: drh tags: trunk)
2009-06-12
17:46
Change lemon so that it does not generate yytestcase() macros on destructor cases since destructors are commonly unreachable in a reasonable grammar. For the reduce-rule switch, gather all no-ops into the "default:" case. (CVS 6757) (check-in: caebfe82 user: drh tags: trunk)
15:47
The previous check-in ((6755)) put in more yytestcase() macros than are called for. This check-in addresses that problem. (CVS 6756) (check-in: a5b182f9 user: drh tags: trunk)
13:53
The lemon parser generator now inserts yytestcase() macros on reduce action and on each destructor, to verify that all have been executed. yytestcase() is a no-op by default but can be set to something more useful inside of %include. (CVS 6755) (check-in: fe9c9177 user: drh tags: trunk)
12:50
In lemon: omit unused entries from the end of the yyFallback array. (CVS 6754) (check-in: 9cfbe2ba user: drh tags: trunk)
12:04
Enable the SQLITE_LIMIT_FUNCTION_ARG limiter. (CVS 6753) (check-in: a17e3317 user: drh tags: trunk)
11:42
Remove a C++-ism from the code. Ticket #3912. (CVS 6752) (check-in: bc729bc3 user: drh tags: trunk)
03:47
An additional memory leak in the parser fixed. Ticket #3911. (CVS 6751) (check-in: 6197b492 user: drh tags: trunk)
03:27
Make sure nested queries with USING clauses do not leak memory. Preliminary fix for ticket #3911. (CVS 6750) (check-in: bd341a10 user: drh tags: trunk)
02:27
Modifications to the parser to eliminate unreachable code. (CVS 6749) (check-in: 457e0b24 user: drh tags: trunk)
2009-06-11
17:32
Honor the SQLITE_OPEN_READONLY flag even on a :memory: or temporary database, even though such a database is pointless. Ticket #3908. (CVS 6748) (check-in: 73ba841a user: drh tags: trunk)
17:04
Add an ALWAYS() to a conditional in where.c. (CVS 6747) (check-in: 1fdb3e1e user: drh tags: trunk)
00:47
Changes to reenable codec operation and to handle memory allocation failures within a codec. (CVS 6746) (check-in: 43a6ca98 user: drh tags: trunk)
2009-06-10
19:33
Do not let the reverse_unordered_selects pragma force the use of an index that would not otherwise be used. Ticket #3904. Also: remove an test which is always true. (CVS 6745) (check-in: 78a391dc user: drh tags: trunk)
11:07
Remove a NEVER() that can sometimes occur on an OOM error. (CVS 6744) (check-in: c27f23bb user: drh tags: trunk)
09:11
Minor tweak to balance_quick() to save a few instructions. (CVS 6743) (check-in: 9ace9959 user: danielk1977 tags: trunk)
2009-06-09
19:53
Remove the actual checks that verify that memory pools (such as set up using SQLITE_CONFIG_HEAP) are 8-byte aligned. But document that 8-byte alignment is required. (CVS 6742) (check-in: e9b55ccc user: drh tags: trunk)
18:58
Fix compiler warnings with MSVC build. (CVS 6741) (check-in: 0bd84e73 user: shane tags: trunk)
18:14
Avoid a false failure report in the test scripts caused by the vdbe stack "compression" script. (CVS 6740) (check-in: 9d332989 user: shane tags: trunk)
18:02
Require that the buffer specified by SQLITE_CONFIG_HEAP be 8-byte aligned. (CVS 6739) (check-in: 18b78068 user: drh tags: trunk)
18:01
Changes to tokenize.c to facilitate full coverage testing. (CVS 6738) (check-in: 5e8c48cf user: drh tags: trunk)
15:25
Change savepoint4.test to limit database growth. Otherwise the test can take a very long time to run, depending on the prng. (CVS 6737) (check-in: ed1d4f47 user: danielk1977 tags: trunk)
14:27
Modify mkkeywordhash.c so that it puts the original text of each token in a comment beside the "testcase()" macros. (CVS 6736) (check-in: a7d0817c user: drh tags: trunk)
13:42
Enable cell overflow checking in sqlite3BtreeInitPage() using the compile-time option SQLITE_ENABLE_OVERSIZE_CELL_CHECK. Change the tests so that they recognize different error messages depending on the setting of this macro. (CVS 6735) (check-in: 56bff6eb user: drh tags: trunk)
11:34
Avoid calling fillInCell() to create an internal node intkey cell from balance_nonroot(). A single putVarint() does the same thing more quickly. (CVS 6734) (check-in: 2e5d42ae user: danielk1977 tags: trunk)
10:37
Only do the cell overread checks in sqlite3BtreeInitPage if SQLITE_OVERREAD_CHECK is defined at compile-time. (CVS 6733) (check-in: 49f544eb user: drh tags: trunk)
09:41
Do not clear the MemPage.nFree variable when insertCell() adds an overflow cell to a page. Not doing this means balance_quick() can avoid a call to sqlite3BtreeInitPage(). (CVS 6732) (check-in: 8f1c1f61 user: danielk1977 tags: trunk)
2009-06-08
19:44
Additional comments to clarify the operation of the LIKE optimizer in where.c. (CVS 6731) (check-in: cc9c1217 user: drh tags: trunk)
17:11
Clarification of the operation of the OR-term optimizer in where.c. (CVS 6730) (check-in: 6b42dc3d user: drh tags: trunk)
14:49
Change the btree balance code so that it does not call balance_nonroot() recursively. (CVS 6729) (check-in: 7863db90 user: danielk1977 tags: trunk)
12:52
Increase the version number to 3.6.15 in preparation for the next release. (CVS 6728) (check-in: 456ea541 user: drh tags: trunk)
2009-06-07
23:45
Disable the LIKE optimization if the affinity of the LHS column is not TEXT. Ticket #3901. (CVS 6727) (check-in: a255c645 user: drh tags: trunk)
2009-06-06
19:21
Update the error message on one of the corruption tests to account for the fact that we are finding the corruption sooner. (CVS 6726) (check-in: ba9848e7 user: drh tags: trunk)
16:08
Fix an error in the malloc.test test script causing a small buffer overread. (CVS 6725) (check-in: 4d129bee user: danielk1977 tags: trunk)
15:17
Make sure the result of sqlite3VdbeGetOp() is not used as an array following an OOM error, since after (6691) it might be a single-entry dummy opcode. (CVS 6724) (check-in: 127b1398 user: drh tags: trunk)
14:13
When building in debug mode with gcc, force the nullMem variable in function columnMem() to be aligned to an 8-byte boundary. Otherwise an assert() statement may fail. (CVS 6723) (check-in: 3fd6c72d user: danielk1977 tags: trunk)
2009-06-05
18:44
Detect when database corruption causes an attemp to set the pointer map value for a pointer map page and report the corruption. (CVS 6722) (check-in: 3ae4880b user: drh tags: trunk)
17:09
Remove leftover "breakpoint" commands from test scripts. Also remove blank lines at the end of scripts. (CVS 6721) (check-in: 1fef16ec user: drh tags: trunk)
16:46
Do not cast an unsigned int into an int for comparison. (CVS 6720) (check-in: 302ab855 user: drh tags: trunk)
14:17
Take care that a corrupt variable-length integer does not cause 32-bit integer overflow when parsing a record format, nor cause excessively large memory allocations. (CVS 6719) (check-in: 38b20327 user: drh tags: trunk)
2009-06-04
19:06
Earlier detection of freelist corruption in the page allocation routines. (CVS 6718) (check-in: e557c8e5 user: drh tags: trunk)
17:02
Fix an assertion fault in balance_quick() that occurs when an interior btree node has zero cells due to database corruption. Also update the corrupt7.test result vectors for a couple of cases where the error report on database corruption changed due to earlier detection. (CVS 6717) (check-in: 1335e444 user: drh tags: trunk)
16:14
If the root page of a btree is empty and is also not a leaf page and the page is not page 1, then report database corruption. (CVS 6716) (check-in: 52b02ca5 user: drh tags: trunk)
14:46
Reduce the stack usage of balance_quick(). (CVS 6715) (check-in: e7ad68e9 user: danielk1977 tags: trunk)
02:47
Minor updates to comments in test scripts. (CVS 6714) (check-in: 453ff88f user: shane tags: trunk)
02:46
Minor tweak to test script to ensure every byte in file touched at least once. (CVS 6713) (check-in: bc6c2d89 user: shane tags: trunk)
00:11
Fix two instances where a malformed header in a database file (in other words a corrupt database file) can lead to an assertion fault. (CVS 6712) (check-in: 4e92c7f2 user: drh tags: trunk)
2009-06-03
21:04
Change the pcache1.c implementation so that the "header" occurs at the end of page buffer, not at the beginning. This insures that the 20 bytes immediately following the page buffer are mapped if a read of the page buffer overruns due to a malformed cell. (CVS 6711) (check-in: c54de1f5 user: drh tags: trunk)
17:26
Add corruptD.test, a container for testing the "cell overflow" problem. Also shuffle a small amount of code in BtreeInitPage() to check that the page header pointer to the start of the cell offset array is set to a sane value. (CVS 6710) (check-in: 7fa5d3cb user: danielk1977 tags: trunk)
11:25
Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709) (check-in: 6dbf4eca user: danielk1977 tags: trunk)
01:24
Additional changes to reduce stack usage. The SQLITE_SMALL_STACK compile-time option is now available. (CVS 6708) (check-in: baea79fd user: drh tags: trunk)
2009-06-02
21:31
Further reductions in the amount of stack space required. (CVS 6707) (check-in: 04bad9eb user: drh tags: trunk)
16:06
Tweaks to vdbe.c to further reduce stack space requirements. (CVS 6706) (check-in: 6f2aab3f user: drh tags: trunk)
15:47
Add a test case for ticket #3893 and ticket #3894. (CVS 6705) (check-in: 2472f6db user: drh tags: trunk)
15:21
Add the vdbe-compress.tcl script which automatically refactors the sqlite3VdbeExec() routine to use less stack space. Use this script when constructing the amalgamation. (CVS 6704) (check-in: 7f433918 user: drh tags: trunk)
2009-06-01
19:53
Avoid allocating large objects on the stack in the incremental BLOB I/O interface. (CVS 6703) (check-in: ea7dfde7 user: drh tags: trunk)
18:18
Malloc for space to hold the Parse object in sqlite3_prepare() and friends. Or, if compiled with SQLITE_USE_ALLOCA, obtain space for the object from alloca(). (CVS 6702) (check-in: c7c0c58e user: drh tags: trunk)
17:10
Added assert to verify winMutex system is inited before "static" mutexes are used. (CVS 6701) (check-in: b126013b user: shane tags: trunk)
17:06
Ensure that "static" mutexes are deleted on shutdown so that they are not leaked across restarts. (CVS 6700) (check-in: 4e75897e user: shane tags: trunk)
16:53
Fix compiler warnings with MSVC build. (CVS 6699) (check-in: 07915885 user: shane tags: trunk)
16:42
Fix a couple of Windows only issues with test scripts. (CVS 6698) (check-in: 0f6bc5e1 user: shane tags: trunk)
2009-05-31
21:21
Code simplifications to facilitate coverage testing following the recent changes to the Expr object. (CVS 6697) (check-in: ee9a144d user: drh tags: trunk)
17:16
Fix the ".genfkey" command of the CLI so that it does not leak memory if sqlite3_realloc() fails. Ticket #3891. (CVS 6696) (check-in: a028d69c user: drh tags: trunk)
2009-05-30
23:35
Fix typo reported by ticket #3888. Other minor edits to facilitate coverage testing. (CVS 6695) (check-in: 164adf26 user: drh tags: trunk)
20:49
Simplifications to the expr.c source module resulting from structural testing. (CVS 6694) (check-in: f760bb7a user: drh tags: trunk)
14:16
Fix for ticket #3887. Other unrelated bits of code cleanup in the expr.c source module. (CVS 6693) (check-in: 00e7250f user: drh tags: trunk)
10:46
In vacuum.c use "PagerIsMemdb(X)" instead of "PagerFile(X)->pMethods==0". (CVS 6692) (check-in: 874295ce user: danielk1977 tags: trunk)
2009-05-29
19:00
Enhance the sqlite3VdbeGetOp() routine so that it always returns a pointer to VdbeOp, even following an OOM fault. This simplifies error handling in callers. Cleanup to the column cache logic and the expr.c source module. (CVS 6691) (check-in: ede06dac user: drh tags: trunk)
14:39
Refinements in expression handling logic that have resulted from recent structural testing. (CVS 6690) (check-in: bd89f2c2 user: drh tags: trunk)
11:57
Still more refinements to the hasHotJournal() fix of ticket #3883. (CVS 6689) (check-in: 726b425e user: drh tags: trunk)
10:55
The hasHotJournal() fix of check-in (6687) causes some minor problems in various alternative operating modes, such as locking_mode=EXCLUSIVE. This additional patch attempts to fix those concerns. Ticket #3883. (CVS 6688) (check-in: a2ba61d9 user: drh tags: trunk)
00:30
Modify the hasHotJournal() routine to return a false-positive if it is unable to open the journal file to check its header due to a race condition. Processing downstream of hasHotJournal() already knows how to deal with false-positives. Ticket #3883. (CVS 6687) (check-in: d6b5d8e1 user: drh tags: trunk)
2009-05-28
21:04
Remove references to deleted function sqlite3ExprRegister(). Changes to the expr.c source module to promote better testing. (CVS 6686) (check-in: 6ae4ad6e user: drh tags: trunk)
14:34
Fix a NULL pointer dereference following an OOM error in the column name resolver. (CVS 6685) (check-in: 3b461425 user: drh tags: trunk)
12:49
Make sure the column name resolver does not try to duplicate Expr.u.zToken when the Expr.u.iValue union member is the element being used. (CVS 6684) (check-in: 376ecf0d user: drh tags: trunk)
11:05
Workaround the need for internal API sqlite3BtreeCursorDb(). It was only being used for an assert() statement, which can be done differently. (CVS 6683) (check-in: 5904af6e user: danielk1977 tags: trunk)
01:00
Additional refinements to Expr handling. Restore compression of trigger expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue. Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682) (check-in: 4ac2bdfb user: drh tags: trunk)
2009-05-27
10:31
Simplifications to the Expr object: Remove Expr.span completely and convert Expr.token into a char* Expr.zToken. Also simplify the Token object by removing the Token.dyn and Token.quoted fields. (CVS 6681) (check-in: 7cb1c3ba user: drh tags: trunk)
2009-05-25
15:00
Version 3.6.14.2 (CVS 6680) (Leaf check-in: ab76d1a2 user: drh tags: branch_3_6_14, release)
14:17
Fix the rtree test module so that it works even if the ext/ subfolder is omitted from the tree. (CVS 6679) (check-in: 086206e1 user: drh tags: trunk)
12:40
Update the configure script for version 3.6.14.2. (CVS 6678) (check-in: 58373119 user: drh tags: branch_3_6_14)
12:02
Port the fix for ticket #3879 (check-in (6676)) to the 3.6.14 branch. (CVS 6677) (check-in: d2fdae8e user: drh tags: branch_3_6_14)
11:46
When pinning a temp register after it is reused by the column cache, make sure all instances of that register in the cache are pinned so that the register is never reused for a different purpose. Ticket #3879. (CVS 6676) (check-in: 5f358e63 user: drh tags: trunk)
11:46
Add a test case for ticket #3879. (CVS 6675) (check-in: 5b9b66f4 user: danielk1977 tags: trunk)
2009-05-24
21:59
Additional clarification of the 3rd parameter to sqlite3_create_function(). Documentation change only; no changes to code. Ticket #3875. (CVS 6674) (check-in: dd75e376 user: drh tags: trunk)
11:08
In the previous, the upper bound on the number of function arguments is 127, not 255. Ticket #3876 (CVS 6673) (check-in: 4fe4c5fa user: drh tags: trunk)
11:07
Correct and clarify the documentation on the third parameter to sqlite3_create_function(). (CVS 6672) (check-in: 6b7929ed user: drh tags: trunk)
2009-05-22
15:43
Do not transform a WHERE clause of the form "a = ? OR a = ?" to "a IN (?, ?)" if "a" is a column of a virtual table. Ticket #3871. (CVS 6671) (check-in: fad88e71 user: danielk1977 tags: trunk)
11:12
Add an assert() to pcache1.c to double-check that page cache buffer memory is never allocated if pcache1 is not enabled. Ticket #3872 (CVS 6670) (check-in: 93369d91 user: drh tags: trunk)
11:10
Additional changes to pcache1 to prevent the page buffer memory from being configured if pcache1 is not enabled. Ticket #3872. (CVS 6669) (check-in: 5153ad19 user: drh tags: trunk)
10:53
Make sure sqlite3_shutdown() completely disables the default pager cache mechanism in pcache1.c. Ticket #3872. Also fix some comments associated with configuring the page cache. (CVS 6668) (check-in: 6240992c user: drh tags: trunk)
01:02
Add omitted word in the documentation for total_change_count(). ticket #3870. (CVS 6667) (check-in: 3f6fd16f user: drh tags: trunk)
01:00
Fix an 8-byte alignment problem on HP/UX. Ticket #3869 (CVS 6666) (check-in: fc64f850 user: drh tags: trunk)
2009-05-21
20:41
Simplifications to expr.c in support of full coverage testing. (CVS 6665) (check-in: 309adb5e user: drh tags: trunk)
15:15
In the CLI in the ".dump" command, do not attempt to clear the sqlite_sequence table until the first row of content of that table is seen. Ticket #3867 (CVS 6664) (check-in: bedd5ad1 user: drh tags: trunk)
14:51
In the CLI, always "dump" the sqlite_sequence table last. Ticket #3867 (CVS 6663) (check-in: a0028d48 user: drh tags: trunk)
04:42
Add conditional 'extern "C"' block to sqlite3async.h. Ticket #3866. (CVS 6662) (check-in: e4d1b117 user: danielk1977 tags: trunk)
2009-05-20
20:10
Fix a memory leak that occurs when an out-of-memory error occurs while preparing a statement that has multiple virtual table updates within triggers. Other virtual table changes to support full-coverage testing. (CVS 6661) (check-in: 02b77a58 user: drh tags: trunk)
16:22
Remove unused, undocumented, and untested error reporting logic from the xFindFunction interface in virtual tables. (CVS 6660) (check-in: 55d6ced2 user: drh tags: trunk)
02:40
Updates to the extension loading logic to support full coverage testing. (CVS 6659) (check-in: 929cfbc6 user: drh tags: trunk)
2009-05-19
19:04
Changes to select.c to facilitate full coverage testing. (CVS 6658) (check-in: f678ed34 user: drh tags: trunk)
14:21
Improvements to the SQLITE_INT_TO_PTR macro to reduce the number of warnings. For some platforms it might be necessary to compile with the -DHAVE_STDINT_H flag. Ticket #3860. (CVS 6657) (check-in: 1b0ee9d1 user: drh tags: trunk)
03:21
Update the showdb.c utility so that it works with databases larger than 4GiB. (CVS 6656) (check-in: 9675b622 user: drh tags: trunk)
00:01
Version 3.6.14.1 (CVS 6655) (check-in: e4267c87 user: drh tags: branch_3_6_14, release)
2009-05-18
17:11
Port the sqlite3_backup fix of check-in (6632), ticket #3858 onto the 3.6.14.1 branch. (CVS 6654) (check-in: 0d3abee2 user: drh tags: branch_3_6_14)
16:22
Update the configure script for the 3.6.14.1 release. (CVS 6653) (check-in: 4ebb8501 user: drh tags: branch_3_6_14)
16:14
Port patches from the trunk into the 3.6.14.1 branch: the group_concat() fix of check-in (6616), ticket #3841 and the pcache fix of check-in (6619), ticket #3844. (CVS 6652) (check-in: 2a277c55 user: drh tags: branch_3_6_14)
16:12
Update the version number for the 3.6.14.1 branch. (CVS 6651) (check-in: f06cae3b user: drh tags: branch_3_6_14)
16:04
Fix memdb.test so that it works when OMIT_AUTOVACUUM is defined. (CVS 6649) (check-in: 8c3c0c24 user: danielk1977 tags: trunk)
15:46
Changes to select.c in support of full coverage testing. (CVS 6647) (check-in: e225f365 user: drh tags: trunk)
13:34
Fix a typo on a comment associated with check-in (6641) and ticket #3860. (CVS 6646) (check-in: 43051e03 user: drh tags: trunk)
2009-05-17
15:29
Remove debugging code accidently left in check-in (6642). Ticket #3862. (CVS 6645) (check-in: 0d974613 user: drh tags: trunk)
15:26
Take care to free the memory for the ORDER BY clause on SELECT statements containing errors and contained within triggers. Ticket #3863. (CVS 6644) (check-in: dd665eac user: drh tags: trunk)
12:07
Fix a typo in the sqlite3_blob_open() documentation. (CVS 6643) (check-in: 92866482 user: drh tags: trunk)
02:06
Tweaks and simplifications to select.c to facility full coverage testing. (CVS 6642) (check-in: e3ccbc69 user: drh tags: trunk)
2009-05-16
17:38
Attempt to provide a version of the SQLITE_INT_TO_PTR macro that works on both llvm-gcc-4.2 and MSVC. Ticket #3860. (CVS 6641) (check-in: ddee7ff2 user: drh tags: trunk)
2009-05-15
14:41
Re-enable file locking in async4.test. (CVS 6640) (check-in: f7098187 user: danielk1977 tags: trunk)
2009-05-14
22:37
Documentation enhancements for sqlite3_update_hook(), sqlite3_commit_hook(), and the various incremental blob I/O routines. No changes to code. (CVS 6639) (check-in: e8ca932d user: drh tags: trunk)
19:26
Change the sqlite3_backup_finish() interface so that calling it with a NULL pointer is a harmless no-op. One other change to backup.c to facilitate full coverage testing. (CVS 6638) (check-in: 06bc8917 user: drh tags: trunk)
03:21
Documentation updates to better explain the SQLITE_OPEN_EXCLUSIVE flag. Ticket #3855. (CVS 6637) (check-in: 6bd44f36 user: shane tags: trunk)
2009-05-13
22:58
Additional simplifications to build.c in support full coverage testing. (CVS 6636) (check-in: 913d1114 user: drh tags: trunk)
17:35
Remove incorrect NEVER() macro in the previous check-in (6634). (CVS 6635) (check-in: c6849579 user: drh tags: trunk)
17:21
Changes to build.c to help facilitate full coverage testing. (CVS 6634) (check-in: 264ace50 user: drh tags: trunk)
14:46
Do not run async4.test as part of the "journaltest" permutation. It specifically tests that the asynchronous IO backend can be configured to violate the assumptions made by journaltest. (CVS 6633) (check-in: b19bf39b user: danielk1977 tags: trunk)
07:52
When locking a database file, check if any backup objects need to be restarted even if the page cache is empty. Ticket #3858. (CVS 6632) (check-in: 90309008 user: danielk1977 tags: trunk)
2009-05-12
18:00
Remove debugging comments left in the prior check-in by mistake. (CVS 6631) (check-in: 82070560 user: drh tags: trunk)
17:46
Move the sqlite3MinimumFileFormat() routine from build.c over to alter.c since alter.c is the only code that uses it. Additional changes and cleanup to build.c to facility coverage testing. (CVS 6630) (check-in: 6fe3750a user: drh tags: trunk)
13:35
Make sure the SQLITE_OPEN_EXCLUSIVE flag is ignored by sqlite3_open_v2(). That flag is to be used by the VFS interface only. Ticket #3855. (CVS 6629) (check-in: c37f0279 user: drh tags: trunk)
00:40
Tweaks to build.c to facilitate coverage testing. (CVS 6628) (check-in: 6572b438 user: drh tags: trunk)
2009-05-11
23:38
If a virtual table constructor returns SQLITE_NOMEM, set the mallocFailed flag in the corresponding database connection to insure that the error is propagated back to the top layer. (CVS 6627) (check-in: 5635666f user: drh tags: trunk)
20:53
Rework the logic that generates a schema for tables created using "CREATE TABLE ... AS SELECT ...". Instead of trying to copy the raw datatype string from the right-hand side, just make the type one of TEXT, INT, REAL, NUM, or nothing. This is much simpler than trying to parse and quote datatype strings. Other minor implifications to build.c are bundled with this change. (CVS 6626) (check-in: 33cf8359 user: drh tags: trunk)
18:22
Enhance the parser to allow nested parentheses in the module argument of a CREATE VIRTUAL TABLE statement. (CVS 6625) (check-in: 93772bd7 user: drh tags: trunk)
2009-05-09
23:29
Convert an always-true condition in hash.c into an assert(). (CVS 6624) (check-in: 42372999 user: drh tags: trunk)
18:59
Add the SQLITE_TESTCTRL_ASSERT and SQLITE_TESTCTRL_ALWAYS codes for the sqlite3_test_control() interface. (CVS 6623) (check-in: 38df91c2 user: drh tags: trunk)
15:17
Change sqlite_blob_open() so that it zeros the output pBlob pointer when it fails. The other sqlite3_blob interfaces accept a NULL pointer as input. (CVS 6622) (check-in: 999d507b user: drh tags: trunk)
00:18
Changes to the trigger.c module that facilitate full coverage testing. (CVS 6621) (check-in: 567ccc68 user: drh tags: trunk)
2009-05-08
11:34
Fix a warning in the osx-specific part of os_unix.c. Ticket #3847. (CVS 6620) (check-in: 254ca327 user: danielk1977 tags: trunk)
06:52
Correctly update the cache page-count when discarding pages in the xTruncate() method of the default pcache implementation. Otherwise the effective configured size of the cache shrinks each time xTruncate() is called. Fix for #3844. (CVS 6619) (check-in: 88211cee user: danielk1977 tags: trunk)
2009-05-07
14:11
If compiling FTS3 in the amalgamation, include the ctype.h header file. Ticket #3843. (CVS 6618) (check-in: 660108ef user: drh tags: trunk)
13:43
Change the sqlite3_create_function() family of routines to return SQLITE_MISUSE instead of SQLITE_ERROR if their parameters are incorrect. (CVS 6617) (check-in: 866f13e2 user: drh tags: trunk)
12:17
Make sure the iteration counter on aggregate functions is reset each time the aggregate is used in an correlated subquery. Ticket #3841. (CVS 6616) (check-in: 4a86de35 user: drh tags: trunk)
02:26
Version 3.6.14 (CVS 6615) (check-in: 469ad1de user: drh tags: trunk, release)
2009-05-06
19:03
Fix compiler warning found with gcc -Wextra. (CVS 6614) (check-in: 93bdbc5e user: drh tags: trunk)
18:57
Changes to silence compiler warnings under MSVC. (CVS 6613) (check-in: df599237 user: shane tags: trunk)
18:42
Fix three variable initialization problems found by valgrind. (CVS 6612) (check-in: 37428435 user: drh tags: trunk)
15:24
updated vxworks makefile for 3.6.14 release (CVS 6611) (check-in: 5d4bffaa user: chw tags: trunk)
00:52
Add a short pause to force a context swap while waiting for a separate process to clear its lock in the lock4.test script. (CVS 6610) (check-in: 4357e76d user: drh tags: trunk)
00:49
Fix the test case misc3-6.11 so that it works correctly on UTF16 databases after the fix of for ticket #3838, check-in (6603) (CVS 6609) (check-in: c1e739e3 user: drh tags: trunk)
2009-05-05
20:02
Minor changes to the sqlite3_exec() implementation in legacy.c to facility full coverage testing. (CVS 6608) (check-in: 9e3016c1 user: drh tags: trunk)
18:01
Bump the version number up to 3.6.14. (CVS 6607) (check-in: f4549904 user: drh tags: trunk)
17:37
Changes to vacuum.c to facilitate full coverage testing. (CVS 6606) (check-in: 86628465 user: drh tags: trunk)
15:46
Make sure the left-shift operator never overflows. (CVS 6605) (check-in: 300da301 user: drh tags: trunk)
15:46
Changes to update.c to facilitate full coverage testing. (CVS 6604) (check-in: 25a11b9e user: drh tags: trunk)
12:54
Make sure the default value on a column added using ALTER TABLE has the correct encoding. Ticket #3838. (CVS 6603) (check-in: 7f89a860 user: drh tags: trunk)
2009-05-04
20:20
Make sure va_arg() does not occur on the same line as any "if" statement or "?" operator. (CVS 6602) (check-in: 3543be6e user: drh tags: trunk)
19:01
Avoid parsing cells that fit entirely on the b-tree page when searching a b-tree index. (CVS 6601) (check-in: 77a82395 user: danielk1977 tags: trunk)
18:01
Changes to auth.c to promote full coverage testing. (CVS 6600) (check-in: c7615b44 user: drh tags: trunk)
11:42
Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) (check-in: cac4f3d8 user: danielk1977 tags: trunk)
01:58
Work toward cleaning up the authorizer interface. Work is on-going. This is an incremental check-in. (CVS 6598) (check-in: 694662f7 user: drh tags: trunk)
2009-05-03
20:23
Changes to facility full coverage testing of util.c. (CVS 6597) (check-in: a6122990 user: drh tags: trunk)
01:01
More changes to insert.c to facilitate full coverage testing. (CVS 6596) (check-in: 46c4ec96 user: drh tags: trunk)
2009-05-02
15:46
Simplifications to the uniqueness constraint failure error message generation code. (CVS 6595) (check-in: 8f3cac76 user: drh tags: trunk)
13:29
Remove the aFKey hash table, which was not being used. Simplify the FKey object. Simplify the hash.c module since the copyKey parameter formerly used only by aFKey is now no longer required. (CVS 6594) (check-in: 80c43a35 user: drh tags: trunk)
12:02
Reduce the size of an integer literal in rowhash.tcl so that the test is able to run with the default TCL installation on Mac OS 10.5. (CVS 6593) (check-in: 2229acce user: drh tags: trunk)
10:03
When a cursor points at the last entry of an intkey btree after an insert, leave it there (instead of moving it to the tree root node). This speeds up statements of the form "INSERT INTO ... SELECT ..." that use auto-generated rowids. (CVS 6592) (check-in: 9950c0a7 user: danielk1977 tags: trunk)
07:36
Do not reset the cursor before seeking it in sqlite3BtreeInsert(). This speeds up INSERT operations that use auto-generated rowid values. (CVS 6591) (check-in: 20c4acc2 user: danielk1977 tags: trunk)
00:28
When checking indices for xfer compatibility, compare collating sequences by string, not by pointer. (CVS 6590) (check-in: 7d2b80c7 user: drh tags: trunk)
2009-05-01
21:13
Record within the Token structure itself whether or not the token has been dequoted. This steals one bit from the length of a token and thus limits the size of tokens to 1GiB. (CVS 6589) (check-in: 12bcb03d user: drh tags: trunk)
15:17
Fix an error message that is generated if the number of columns do not match on an INSERT into a virtual table with hidden columns. (CVS 6588) (check-in: 795b453c user: drh tags: trunk)
13:16
Update PRAGMA integrity_check so that it treats SQLITE_IOERR_NOMEM errors from underlying components the same as SQLITE_NOMEM errors. (CVS 6587) (check-in: 26444f2a user: drh tags: trunk)
10:55
Change lock2.test so that it does not enter a busy loop if the child process exists unexpectedly. (CVS 6586) (check-in: 164a7f5a user: danielk1977 tags: trunk)
06:19
Remove a NEVER() clause from a condition that is true at least once when running attachmalloc.test. (CVS 6585) (check-in: 514efc73 user: danielk1977 tags: trunk)
05:23
Fix for tempdb.test so that it passes when running the inmemory_journal permutation test. (CVS 6584) (check-in: 0256187b user: danielk1977 tags: trunk)
02:08
Fix processing of BEFORE triggers on INSERT statements with RHS SELECTs that insert a NULL into the INTEGER PRIMARY KEY. Ticket #3832. (CVS 6583) (check-in: 4a1f6a3a user: drh tags: trunk)
2009-04-30
17:45
More cleanup, etc. to support MSVC compiles. (CVS 6582) (check-in: 2cd9655e user: shane tags: trunk)
17:38
Disable an always-false test in the attach.c module. (CVS 6581) (check-in: 92b69481 user: drh tags: trunk)
16:41
Fix a problem with in-memory sub-journals and exclusive locking mode. Also a test script problem introduced by (6575). (CVS 6580) (check-in: d67af3f5 user: danielk1977 tags: trunk)
15:59
Documentation updates for sqlite3_set_authorizer(). No changes to code. (CVS 6579) (check-in: 41f39c31 user: drh tags: trunk)
13:30
Disallow attaching the same database multiple times to the same db connection in shared cache mode, since doing so leads to deadlock. (CVS 6578) (check-in: 715f14f1 user: drh tags: trunk)
12:25
Fix apparent typo on exclusive.test in the (6575) check-in. (CVS 6577) (check-in: 95d22405 user: drh tags: trunk)
12:25
Changes sqlite3TempInMemory() to take a const parameter. (CVS 6576) (check-in: aa29a14c user: drh tags: trunk)
09:10
When SQLite is configured to use in-memory temp files (either by setting SQLITE_TEMP_STORE during compilation or using the temp_store pragma at run time), store statement/savepoint journals in memory also. Ticket #3825. (CVS 6575) (check-in: 38f8c5a1 user: danielk1977 tags: trunk)
05:40
Fix a memory leak introduced in the previous check-in. (CVS 6574) (check-in: f082bf36 user: drh tags: trunk)
05:19
Take care not to leave a zombie attached database if the attachment fails due to an encoding mismatch. Update attach logic to always use dynamically allocated error message strings. (CVS 6573) (check-in: a6cb4002 user: drh tags: trunk)
01:22
Remove always-true tests from attach.c. In btree.c, always test the return from sqlite3PagerSetPagesize() since it might return SQLITE_NOMEM. (CVS 6572) (check-in: 8bf60b24 user: drh tags: trunk)
00:11
Remove an always-true test from delete.c. Move the sqlite3OpenTable() routine from delete.c to insert.c since it is not used in delete.c. (CVS 6571) (check-in: 71756dc8 user: drh tags: trunk)
2009-04-29
18:12
Fixed compile for MSVC; removed compiler warnings; changes for NDEBUG build; minor code tweaks. (CVS 6570) (check-in: e98b1242 user: shane tags: trunk)
17:49
Modify the assemblePage() function in btree.c so that it runs slightly faster. (CVS 6569) (check-in: 7ec42e98 user: danielk1977 tags: trunk)
14:33
Update the documentation on the sqlite3_changes() and sqlite3_total_changes() functions. (CVS 6568) (check-in: 58c7bdb2 user: drh tags: trunk)
11:50
Fix a case in where.c where a crash can follow a malloc failure. Also modify test code in test8.c to check a return code that was being dropped (causing a test in vtab_err.test to fail). (CVS 6567) (check-in: 9664e2b6 user: danielk1977 tags: trunk)
11:31
Add a version of cellSizePtr() that is faster than using sqlite3BtreeParseCellPtr(). This speeds up balance_nonroot(). (CVS 6566) (check-in: e8f7f7b7 user: danielk1977 tags: trunk)
06:27
Simplify a conditional expression in btree.c. (CVS 6565) (check-in: fc3a5ac2 user: danielk1977 tags: trunk)
2009-04-28
18:00
Fix an out-of-order test number in blob.test. Cosmetic change. No changes to code. Ticket #3830. (CVS 6564) (check-in: e8556542 user: drh tags: trunk)
17:33
Fix asserts in hash.c so that zero-length symbols can be used. (CVS 6563) (check-in: fe9f00aa user: drh tags: trunk)
16:37
When testing with TEMP_STORE=3 and the test pcache, only run 20 iterations in trans.test. Otherwise the test pcache runs out of memory. (CVS 6562) (check-in: 0799b729 user: danielk1977 tags: trunk)
16:35
Remove an unused function declaration from hash.h. (CVS 6561) (check-in: fcf70bb8 user: drh tags: trunk)
15:48
Further adjustment to rowhash.test to account for rowid collisions. (CVS 6560) (check-in: 94a23f99 user: danielk1977 tags: trunk)
15:43
Simplifications to the symbol table implementation in hash.c. For very small symbol tables (less than 10 entries) a simple linked list is used instead of a hash table. Number of hash table buckets is limited to prevent large allocations. (CVS 6559) (check-in: 5c737835 user: drh tags: trunk)
15:35
Have sqlite3_create_collation() return MISUSE if passed an encoding value other than SQLITE_UTF8, SQLITE_UTF16LE, SQLITE_UTF16BE, SQLITE_UTF16 or SQLITE_UTF16_ALIGNED. (CVS 6558) (check-in: 7975b6f2 user: danielk1977 tags: trunk)
13:01
Do not store the zero string terminator as part of the name when holding symbols in the symbol table. (CVS 6557) (check-in: 23d67af3 user: drh tags: trunk)
12:08
Another fix to the same assert as in (6555). It can also fail after a malloc error. (CVS 6556) (check-in: e096f90a user: danielk1977 tags: trunk)
11:10
Fix an assert that could fail after a parse error in expr.c. (CVS 6555) (check-in: a37d1174 user: danielk1977 tags: trunk)
05:27
Avoid changing the pager journal-mode once a write-transaction is open, even if no database pages have been modified. (CVS 6554) (check-in: ad8aba3e user: danielk1977 tags: trunk)
04:51
Add test cases for sqlite3_complete with an EXPLAIN QUERY PLAN on a CREATE TRIGGER statement. Ticket #3828. (CVS 6553) (check-in: 6b86b40e user: drh tags: trunk)
04:47
Make sure sqlite3_open16() always zeros the db return pointer if SQLite initialization fails. (CVS 6552) (check-in: 057c7d17 user: drh tags: trunk)
04:46
Enhance sqlite3_complete() so that it understands EXPLAIN QUERY PLAN. Ticket #3828. Testing is done in TH3. (CVS 6551) (check-in: 3ac1b15f user: drh tags: trunk)
2009-04-27
18:46
Bring the documenation and implementation of sqlite3_collation_needed() into agreement. Use a more efficient implementation of sqlite3ErrStr(). sqlite3_result_error_code() now calls sqlite3ErrStr() if no prior error string was set. (CVS 6550) (check-in: cb9af829 user: drh tags: trunk)
2009-04-25
08:39
Tests for the new asynchronous IO API. (CVS 6549) (check-in: 11b2564e user: danielk1977 tags: trunk)
2009-04-24
20:32
Add another test case for the "x IS NULL" uniqueness problem of ticket #3824. No changes to code. This just double-checks that everything is working now. (CVS 6548) (check-in: 3ceae357 user: drh tags: trunk)
18:06
Dequote the "from" table in a FOREIGN KEY definition (affects the output of "pragma foreign_key_list). Fix for #3800. (CVS 6547) (check-in: 600482d1 user: danielk1977 tags: trunk)
15:46
Get rid of the special RowSet processing in where.c and move that into clients. Added the WHERE_DUPLICATES_OK option to eliminate an unnecessary RowSet during DELETE with a WHERE clause containing ORs. (CVS 6546) (check-in: 98606bee user: drh tags: trunk)
14:51
Make sure that the optimizer realizes that an "x IS NULL" contraint does not necessarily give a single-row result even on a UNIQUE index. Ticket #3824. (CVS 6545) (check-in: 207335fd user: drh tags: trunk)
10:13
Make selecting the asynchronous IO file-locking mode a runtime operation. Still untested. (CVS 6544) (check-in: 577277e8 user: danielk1977 tags: trunk)
09:27
Improve comments and documentation of the asynchronous IO VFS module. (CVS 6543) (check-in: 92bc6be2 user: danielk1977 tags: trunk)
2009-04-23
19:08
os_win.c, winOpen(), changed to handle the SQLITE_OPEN_EXCLUSIVE flag and sharing modes in the same manner as os_unix.c. Ticket #3821. (CVS 6542) (check-in: 18fef3fc user: shane tags: trunk)
18:42
Updated misc. test scripts for Windows testing with gcc/cygwin; (CVS 6541) (check-in: 1e2c7159 user: shane tags: trunk)
18:41
Remove some incorrect async tests; (CVS 6540) (check-in: 03af25b3 user: shane tags: trunk)
14:58
Move the asynchronous IO code from src/test_async.c to ext/async/. Refactor it to be a standalone module and to support windows. (CVS 6539) (check-in: e71fb0fb user: danielk1977 tags: trunk)
13:22
Rework the column-cache mechanism to be more robust (and more correct). The column-alias cache is currently disabled, (CVS 6538) (check-in: dd4d67a6 user: drh tags: trunk)
2009-04-22
17:15
Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both regular and virtual tables. (CVS 6537) (check-in: ecbef450 user: drh tags: trunk)
15:32
Change the OP_Rowid opcode so that a deferred OP_Seek is pending, it simply pulls the rowid from the deferred seek target and does not actually move the cursor or do a seek. Other where.c cleanups. (CVS 6536) (check-in: 1c508a99 user: drh tags: trunk)
02:15
Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535) (check-in: e963bed0 user: drh tags: trunk)
00:47
Extend the Rowset object to contain all the capabilities of Rowhash in addition to its legacy capabilities. Use Rowset to replace Rowhash. In addition to requiring less code, This removes the 2^32 result row limitation, uses less memory, and gives better bounds on worst-case performance. The Rowhash implementation has yet to be removed. (CVS 6534) (check-in: b101cf70 user: drh tags: trunk)
2009-04-21
18:20
Move RowHashBlock.nUsed to RowHash.nUsed. Fix a typo in a comment in test_async.c. (CVS 6533) (check-in: 799d31d9 user: danielk1977 tags: trunk)
17:23
Fix a segfault that followed a malloc failure introduced by (6527). (CVS 6532) (check-in: 08e71b11 user: danielk1977 tags: trunk)
17:13
Adjust the rowhash.test module so that it recovers gracefully in the rare event of a rowid collision. (CVS 6531) (check-in: 72e16809 user: drh tags: trunk)
16:15
Allocate the initial RowHash object using lookaside. (CVS 6530) (check-in: 9b30ab71 user: drh tags: trunk)
15:05
New comments and minor refactoring of rowhash.c. (CVS 6529) (check-in: b8cb4f3e user: drh tags: trunk)
12:02
Remove a redundant test from sqlite3_shutdown(). (CVS 6528) (check-in: 6f481ceb user: drh tags: trunk)
09:02
Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527) (check-in: f61e4cd9 user: danielk1977 tags: trunk)
2009-04-20
17:43
Change the journal_mode pragma so that it always returns the current journal mode, even on a failed attempt to change the journal mode. Allow the journal mode to be changed as long as there is not a pending transaction. Ticket #3811. (CVS 6526) (check-in: 419e320a user: drh tags: trunk)
13:32
Add new tests to show that journal_mode=OFF works with locking_mode=EXCLUSIVE as long as the journal_mode is set prior to the first transaction. Ticket #3811. (CVS 6525) (check-in: e62ac26f user: drh tags: trunk)
12:31
Clarify the documentation to make it clear that sqlite3_interrupt() does not effect new SQL statements that are started after the running statement count reaches zero. Ticket #3815. (CVS 6524) (check-in: 3182e8bf user: drh tags: trunk)
12:07
Do not use deprecated interfaces internally when compiling with SQLITE_OMIT_DEPRECATED. Ticket #3813. (CVS 6523) (check-in: 7f17956d user: drh tags: trunk)
11:34
Speed improvements by avoiding unnecessary calls to fstat() and ftruncate(). (CVS 6522) (check-in: 5b7e3a41 user: drh tags: trunk)
2009-04-19
20:51
Update comments and remove unused code in btree.c. No functional changes. (CVS 6521) (check-in: bd860184 user: drh tags: trunk)
12:23
Make extra calls to sqlite3_shutdown() be harmless no-ops. (CVS 6520) (check-in: d8082295 user: drh tags: trunk)
2009-04-17
16:54
Revise the implementation of sqlite3_initialize() slightly in order to make it more easily testable. The functionality should be unchanged. (CVS 6519) (check-in: bb1a390a user: drh tags: trunk)
15:18
Get the behavior of SQLITE_HAVE_ISNAN right. It was reversed in check-in (6517). Ticket #3809. (CVS 6518) (check-in: 97c6ea23 user: drh tags: trunk)
11:57
Add the SQLITE_HAVE_ISNAN compile-time option which, if present, causes SQLite to use the math library isnan() function rather than its own homebrew implementation of isnan(). (CVS 6517) (check-in: 54d23521 user: drh tags: trunk)
11:56
Check-in (6514) did not completely remove the obsolete test, resulting in a segfault. This check-in finishes the job. Ticket #3802. (CVS 6516) (check-in: c29b37ea user: drh tags: trunk)
2009-04-16
17:45
Add NEVER and ALWAYS tags to conditionals in analyze.c that always false or true. (CVS 6515) (check-in: fbbc80ea user: drh tags: trunk)
16:32
Remove obsolete test from bindxfer.tcl. Ticket #3802. (CVS 6514) (check-in: b1b09617 user: drh tags: trunk)
16:30
Changes to alter.c to enable full branch coverage testing. (CVS 6513) (check-in: 6a91ab08 user: drh tags: trunk)
12:58
Make sure the 'unixepoch' converter in the date and time functions rounds to the nearest millisecond rather than truncating downward to the next smaller millisecond. Ticket #3808. (CVS 6512) (check-in: e6e036b3 user: drh tags: trunk)
00:24
In a 3-fold compound SELECT make sure early code generation of the SELECTs to the right do not dereference non-existant columns in SELECTs on the left. (CVS 6511) (check-in: 414f3408 user: drh tags: trunk)
2009-04-15
15:16
Fix the group_concat() function so that it inserts the separator string even if the initial content strings are empty. Ticket #3806. (CVS 6510) (check-in: b83fbf15 user: drh tags: trunk)
14:36
Fix access violation on WinCE platforms. Ticket #3804. (CVS 6509) (check-in: e203ad40 user: shane tags: trunk)
13:39
Mark an branch in alter.c as always false. Only run the assert() on the sqlite3_aggregate_count() function in func.c if the SQLITE_OMIT_DEPRECATED compile-time option is off. (CVS 6508) (check-in: c0bba77a user: drh tags: trunk)
13:07
Disable the temptrigger.test test script when shared cache is disabled. Ticket #3801. (CVS 6507) (check-in: feedbce8 user: drh tags: trunk)
2009-04-14
18:44
nMax can be zero and subtracting 1 from an unsigned zero produces undesirable results (CVS 6506) (check-in: a117d82d user: aswift tags: trunk)
12:58
Change the sqlite3_bind_value() implementation to use a default branch on the type switch so that there are no untested jumps in the switch. (CVS 6505) (check-in: d0a8bd6a user: drh tags: trunk)
12:43
Reimplement the sqlite3_bind_value() interface so that it works when the value being bound comes from a different database connection. (CVS 6504) (check-in: 3db0c798 user: drh tags: trunk)
2009-04-13
14:43
Enhancements to virtual table documentation. Comment changes only. No changes to code. (CVS 6503) (check-in: b0b2b283 user: drh tags: trunk)
09:29
Version 3.6.13 (CVS 6502) (check-in: 982cc7f4 user: drh tags: trunk, release)
09:09
Rerun autoconf in preparation for 3.6.13. (CVS 6501) (check-in: f683e222 user: drh tags: trunk)
08:14
updated Makefile.vxwSH4 and renamed it to Makefile.vxworks, should now be able to support SH4 and PPC targets. (CVS 6500) (check-in: e4a370c7 user: chw tags: trunk)
2009-04-11
19:09
Fix malloc5.test so it work on both 64-bit and 32-bit systems. The ::tcl_platform(wordSize) variable has to be used to adjust some memory sizes. (CVS 6499) (check-in: ea20f78e user: drh tags: trunk)
16:27
Fix an obscure problem with recovery from I/O errors while rolling back. (CVS 6498) (check-in: 24ff4861 user: drh tags: trunk)
16:27
Add a comments and an assert() to the virtual table implementation. No functional changes. (CVS 6497) (check-in: ac5d0c0a user: drh tags: trunk)
16:06
Fix a case where a corrupt database could cause an assert() to fail. (CVS 6496) (check-in: 2c560e05 user: danielk1977 tags: trunk)
14:46
Allocate a little extra scratch space for the memsubsys1 tests. The extra space is needed in some configurations. (CVS 6495) (check-in: 54844192 user: drh tags: trunk)
11:38
Increase the hard upper bound on the number of pcache pages in test_pcache when the test harness is compiled for in-memory temp tables. Some of the test cases need to extra memory to avoid unplanned out of memory errors. (CVS 6494) (check-in: 7f2d6a0b user: drh tags: trunk)
10:25
Replace invocation of (really_finish_test) from async.test with (finish_test). Otherwise a tcl exception may be thrown when running permutations. (CVS 6493) (check-in: e6465e9d user: danielk1977 tags: trunk)
09:51
In sqlite3PagerMovepage(), avoid holding a reference to page number X when calling sqlite3PcacheRekey() to move another page to page number X. (CVS 6492) (check-in: 4447c94f user: danielk1977 tags: trunk)
2009-04-10
23:11
Remove more unused branches from vdbeapi.c. (CVS 6491) (check-in: 447e9595 user: drh tags: trunk)
20:55
In the async test, make sure procedures do not get renamed over top of one another. (CVS 6490) (check-in: b6430cc4 user: drh tags: trunk)
20:32
Remove unused branches from the vdbeapi.c module. (CVS 6489) (check-in: 7ae0fc7e user: drh tags: trunk)
18:41
Increase the error tolerance when verifying the approximate size of a pseudo-random database in backup_ioerr.test. Otherwise the test could fail depending on the PRNG seed. (CVS 6488) (check-in: deda5ab3 user: danielk1977 tags: trunk)
18:32
Do not run io.test as part of the inmemory_journal permutation. io.test uses the tcl API to test for journal files in the file-system (which of course never exist when running with in-memory journals). (CVS 6487) (check-in: 493f03bd user: danielk1977 tags: trunk)
18:21
Re-enable the alt_pcache tests in permutations.test so that they run automatically during a full regression. Fix async.test so that it works with the permutation.test pcacheNN test modules. (CVS 6486) (check-in: 310192cc user: drh tags: trunk)
15:42
Fix MSVC compiler warning in vdbeaux.c. (CVS 6485) (check-in: d619465e user: shane tags: trunk)
15:38
Disable the select1-15 tests when locking_mode is EXCLUSIVE. Ticket #3771. (CVS 6484) (check-in: 88cefbb4 user: drh tags: trunk)
15:02
Changes to jrnlmode.test to account for in-memory temp databases. (CVS 6483) (check-in: c31d4359 user: danielk1977 tags: trunk)
14:28
Simplifications and additional comments on the sqlite3_get_table() implementation. Changes to facilitate full branch test coverage. (CVS 6482) (check-in: 57e3e6b3 user: drh tags: trunk)
12:55
Changes to ensure that when running in shared-cache mode with a non-threadsafe build, the correct busy-handler callback is always invoked. (CVS 6481) (check-in: 683e4bd7 user: danielk1977 tags: trunk)
09:47
Always set BtShared.db when entering the BtShared mutex. Ticket #3793. (CVS 6480) (check-in: ed6620ba user: danielk1977 tags: trunk)
00:56
Force 8-byte alignment of sqlite3_value objects in the sqlite3VdbeUnpackRecord() primitive. Ticket #3777. (CVS 6479) (check-in: 2cc68272 user: drh tags: trunk)
2009-04-09
21:02
Increase the version number to 3.6.13 in preparation for the next release. (CVS 6478) (check-in: 9a09a474 user: drh tags: trunk)
14:27
Provide dummy DWORD arguments to output parameters of GetDiskFreeSpace(A|W), NULL causes access violations on Windows NT 4.0 (CVS 6477) (check-in: 5350a658 user: chw tags: trunk)
14:02
Remove misuse detection from the deprecated sqlite3_transfer_bindings() interface. The code was hard to test and was simply taking up space. (CVS 6476) (check-in: 4cd82910 user: drh tags: trunk)
01:23
Enhance sqlite3_shutdown() so that it automatically invokes sqlite3_reset_auto_extension(). This is a harmless no-op if applications are already calling sqlite3_reset_auto_extension() prior to sqlite3_shutdown(). And it prevents possible memory corruption if they do not. So it works either way. Most of the changes are to the test cases. (CVS 6475) (check-in: 0c41f7cf user: drh tags: trunk)
2009-04-08
23:05
Simplify the implementation of the columnName() function in vdbeapi.c. This is a code cleanup only - no behavior changes. (CVS 6474) (check-in: 0628f586 user: drh tags: trunk)
23:04
Add an assert() to the implementation of count(*) that checks the correct operation of the sqlite3_aggregate_count() function. (CVS 6473) (check-in: f322be38 user: drh tags: trunk)
16:10
Reconfigure the default case for the printf switch in order to improve branch coverage. (CVS 6472) (check-in: 3cc79162 user: drh tags: trunk)
15:45
Remove a pair unnecessary conditions from printf.c. The "db" parameter is now required for sqlite3MPrintf(). (CVS 6471) (check-in: 6fe8b5d7 user: drh tags: trunk)
13:51
Minor refactoring of the expression-compaction logic for clarity of presentation. New comments added. The EXPRDUP_DISTINCTSPAN flag is removed as obsolete. (CVS 6470) (check-in: 44ded2ea user: drh tags: trunk)
12:21
Do not attempt to walk a TokenOnly or SpanOnly expression tree node. Ticket #3791. (CVS 6469) (check-in: 8362d883 user: drh tags: trunk)
11:49
Add a comment to printf.c - no changes to code. (CVS 6468) (check-in: ee5a4a0e user: drh tags: trunk)
2009-04-07
22:06
Fix the sqlite3_unlock_notify() interface so that when the callback is NULL it simply cancels any outstanding callbacks. (CVS 6467) (check-in: 9ccfcb76 user: drh tags: trunk)
22:05
Remove two unused tests from the integrity_check pragma logic. (CVS 6466) (check-in: 22999d31 user: drh tags: trunk)
14:38
Fix an incorrect assert in btree.c. (CVS 6465) (check-in: 2c1f5983 user: danielk1977 tags: trunk)
14:14
Fix compilation and testing when SQLITE_OMIT_TRIGGER is defined. Ticket #3786. (CVS 6464) (check-in: 277dace4 user: danielk1977 tags: trunk)
13:48
Only enable WHERE-tracing when both TEST and DEBUG are enabled. (CVS 6463) (check-in: 55b93649 user: drh tags: trunk)
11:21
Change "... myfunction() { ... }" to "... myfunction(void) { ... }" in a few pla ces. Ticket #3783. (CVS 6462) (check-in: 6f79e6ae user: danielk1977 tags: trunk)
09:16
Have OP_IdxRowid handle the case where the index entry it is reading from is deleted. (CVS 6461) (check-in: cdad29b5 user: danielk1977 tags: trunk)
05:35
Compile fixes and improvements for vxwork: fixed deadlock in semClose, detect if fcntl is usable, fall back to named semaphores if not. (CVS 6460) (check-in: efd0682b user: chw tags: trunk)
00:49
Remove an unused test for EXPLAIN-mode in the PRAGMA processing. (CVS 6459) (check-in: 909683b3 user: drh tags: trunk)
00:43
Always enable WHERE-tracing on a test build. Oops - accidentally included a debugging change to pragma.c in this check-in. The real fix for the pragma problem is in the following checking. (CVS 6458) (check-in: 567cf90b user: drh tags: trunk)
00:35
It is OK for a unix file descriptor to be zero. It just can't be negative. Adjust an assert accordingly. Ticket #3781. (CVS 6457) (check-in: 47aa7eb0 user: drh tags: trunk)
2009-04-06
17:50
Test cases and minor code changes to increase coverage of btree.c. (CVS 6456) (check-in: def3a016 user: danielk1977 tags: trunk)
15:55
Updates and clarification to the documentation of the sqlite3_temp_directory global variable. No changes to code. (CVS 6455) (check-in: aea99c57 user: drh tags: trunk)
14:16
Allow "default" to be a keyword used by PRAGMA statements. (CVS 6454) (check-in: ed99d2d9 user: drh tags: trunk)
12:26
Make sure the reverse_unordered_selects pragma works even on unindexed tables that are queried without a WHERE clause (CVS 6453) (check-in: d8c6b28a user: drh tags: trunk)
11:11
Check-in (6450) introduced the possibility of calling memset() with a negative 3rd argument. This fixes that bug. Ticket #3777. (CVS 6452) (check-in: 8ca612c4 user: drh tags: trunk)
2009-04-05
15:18
Fix a segfault in Lemon that occurs if the input grammar does not define a type for tokens. This does not effect SQLite since the SQLite grammar does define a type for tokens. (CVS 6451) (check-in: 4424aee9 user: drh tags: trunk)
12:22
Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) (check-in: 208382e0 user: drh tags: trunk)
2009-04-04
16:02
Allow the journal_size_limit to be larger than 2147483647 bytes. (CVS 6449) (check-in: 81931259 user: drh tags: trunk)
15:53
Allow the journal_mode for in-memory databases to be either OFF or MEMORY, not just MEMORY. (CVS 6448) (check-in: 11c77f4c user: drh tags: trunk)
14:04
Clarify the meanings of the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags passed into the xSync method of the VFS. Comment changes only - no changes to code. (CVS 6447) (check-in: c47aeb37 user: drh tags: trunk)
2009-04-03
12:12
Remove a blank line in sqlite.h.in that was preventing the SQLITE_LOCKED_SHAREDCACHE constant appears in the automatically-generated documentation. Ticket #3775. (CVS 6446) (check-in: 65f9d3b9 user: drh tags: trunk)
12:04
Use integer rather than floating point compuations in converting from julian day number to unix-time to avoid round-off errors on Borland compilers. Ticket #3769. (CVS 6445) (check-in: c26f97bd user: drh tags: trunk)
01:43
Fix the PRAGMA parser so that it can accept negative numbers in parentheses, like the syntax diagrams say it should be able to. (CVS 6444) (check-in: 286e8317 user: drh tags: trunk)
2009-04-02
20:27
Make sure count(*) works on the sqlite_master table of an empty database. Ticket #3774. (CVS 6443) (check-in: e0c1a780 user: drh tags: trunk)
20:16
Make sure the VACUUM statement locks down the page_size and auto_vacuum modes after it runs. Otherwise, pragmas might change these settings on a populated database, resulting in problems. (CVS 6442) (check-in: 85e6a474 user: drh tags: trunk)
18:32
Fix the sqlite3_prepare() family of interfaces so that they zero the *ppStmt value even on an SQLITE_MISUSE return. Make it clear in the documentation that the ppStmt parameter cannot be zero. (CVS 6441) (check-in: 23bf9f26 user: drh tags: trunk)
18:28
Fix a problem causing the BtShared.isPending flag to be cleared to early. Also coverage improvements for btree.c. (CVS 6440) (check-in: 8f142344 user: danielk1977 tags: trunk)
17:23
Ensure the required VerifyCookie/Transaction/TableLock opcodes are added for "x IN (SELECT c FROM t)" expressions. Ticket #3771. (CVS 6439) (check-in: 058a2f20 user: danielk1977 tags: trunk)
17:22
Fix a couple of harmless nuisance warnings. (CVS 6438) (check-in: 53dac0a4 user: drh tags: trunk)
16:59
Disable the query flattening optimization when the subquery is a compound query with an ORDER BY clause. Ticket #3773 shows why that combination does not work. (CVS 6437) (check-in: 23f90d50 user: drh tags: trunk)
14:05
Change the way that the random() SQL function prevents the maximum negative integer so that it is testable. (CVS 6436) (check-in: 995f2b9b user: drh tags: trunk)
13:36
Use ALWAYS and NEVER macros on unchangeable conditions within func.c. (CVS 6435) (check-in: eb65e64e user: drh tags: trunk)
10:16
In the built-in SQL function implementations, improve some comments, fix an off-by-one error in detecting over-size strings, and add testcase() macros to verify that boundary values have been tested. (CVS 6434) (check-in: 868a487f user: drh tags: trunk)
09:07
Enforce the run-time sqlite3_limit() length limit on zeroblob(), not just the compile-time SQLITE_MAX_LENGTH limit. (CVS 6433) (check-in: a04f9e79 user: drh tags: trunk)
2009-04-01
23:49
Increase test coverage of bitvec.c slightly. Fix the line length on a comment in bitvec.c. (CVS 6432) (check-in: ca3aa3ba user: drh tags: trunk)
23:09
Mark untestable branches of memjournal.c as such. Reduce the size of a single block allocation to a power of two. Reenable the inmemory_journal permutation test. (CVS 6431) (check-in: 05c182a5 user: drh tags: trunk)
20:44
Fix the strftime() function so that the %s format can handle dates outside of the range of 1901 to 2038. Ticket #3769. (CVS 6430) (check-in: a95b843a user: drh tags: trunk)
19:35
Change an unreachable error condition test to an assert() in rowset.c. (CVS 6429) (check-in: 36115e40 user: drh tags: trunk)
19:07
Remove an unreachable branch from lockBtree(). Add comments. (CVS 6428) (check-in: 85979295 user: danielk1977 tags: trunk)
18:40
Fix a bug in the sqlite3Utf16ByteLen() function so that it computes the correct length even for strings that contain surrogate pairs. Ticket #3766. (CVS 6427) (check-in: 766bb7e5 user: drh tags: trunk)
18:25
Test that two database connections that use different VFS implementations may not share a cache. (CVS 6426) (check-in: 3a92c956 user: danielk1977 tags: trunk)
18:03
Remove the unused SQLITE_Vtab flag. (CVS 6425) (check-in: fdd78962 user: danielk1977 tags: trunk)
17:13
In pageReinit() in btree.c, only reinitialize a page if there are one or more references to it, not including the transient reference held by pager.c. This was always the intent. (CVS 6424) (check-in: 0c5a7d11 user: danielk1977 tags: trunk)
16:33
Remove dead code from the UTF conversion routines. Fix a bug in sqlite3_prepare16_v2() in which an out-of-memory error fails to set the statement return pointer to NULL. (CVS 6423) (check-in: 94e2f815 user: drh tags: trunk)
16:25
Remove an unreachable branch from allocateSpace() in btree.c. Add comments and asserts to the same function. (CVS 6422) (check-in: f8e15a54 user: danielk1977 tags: trunk)
09:41
Add some assert() statements to querySharedCacheTableLock(). (CVS 6421) (check-in: 3e3b5e86 user: danielk1977 tags: trunk)
07:38
add a sanity check to make sure the configure script and VERSION file are always in sync (CVS 6420) (check-in: 1b9da6d7 user: vapier tags: trunk)
2009-03-31
23:29
update configure script so it has proper VERSION in it (CVS 6419) (check-in: ce683cbd user: vapier tags: trunk)
13:16
Version 3.6.12 (CVS 6418) (check-in: 0db862a2 user: drh tags: trunk, release)
03:41
Fix compiler warnings from gcc and MSVC; Correct typo in select.c; (CVS 6417) (check-in: 76851417 user: shane tags: trunk)
02:54
Make sure a ROLLBACK that follows an incremental vacuum works. Ticket #3761. (CVS 6416) (check-in: 8c1d0c6a user: drh tags: trunk)
01:32
Remove two unused lines from pcache.c. (CVS 6415) (check-in: d5cab05c user: drh tags: trunk)
00:50
Added a test case for ticket #3672. (CVS 6414) (check-in: 7f40576d user: drh tags: trunk)
2009-03-30
18:50
Fix a case where a pointer map page was not being journalled before a file truncation that occurs as part of an incremental vacuum. (CVS 6413) (check-in: c5890935 user: danielk1977 tags: trunk)
17:19
Add a comment to the pageReinit() routine explaining why the return code from sqlite3BtreeInitPage() is ignored. Comment change only - no changes to code. (CVS 6412) (check-in: 10f605be user: drh tags: trunk)
13:53
Modify integrity-check to prevent a buffer overread when dealing with a corrupted database. (CVS 6411) (check-in: 3c9097f1 user: danielk1977 tags: trunk)
13:04
Make sure recursive calls to winOpen() preserve the pVfs pointer. Fault found while testing a mingw build in VMWare. (CVS 6410) (check-in: 18b44f0d user: drh tags: trunk)
12:56
Avoid calls to newer TCL interfaces in the test logic. This helps the TCL test harness compile without warnings and link when using older versions of the TCL library. (CVS 6409) (check-in: 1ad17637 user: drh tags: trunk)
12:42
Avoid all use of the "LL" suffix for long-long integer literals. Ticket #3759. (CVS 6408) (check-in: 7ef36935 user: drh tags: trunk)
11:59
Display a warning that the notify2-3 test sometimes fails on single-core machines. (CVS 6407) (check-in: ab7c718d user: drh tags: trunk)
07:39
Another change related to (6401) and (6402): When an attempt to unlock a file fails in os_unix.c, close all files held open waiting for the unlock event anyway. This prevents a file-descriptor leak when testing IO errors. (CVS 6406) (check-in: 50fbcdea user: danielk1977 tags: trunk)
2009-03-29
15:12
Add a comment to the doubleToInt64() routine that explains why returning minInt is in fact correct when it seems like maxInt should be returned. (CVS 6405) (check-in: 7f3be360 user: drh tags: trunk)
00:15
Turn off the debugging macros in where.c - left on by mistake in the previous check-in. (CVS 6404) (check-in: b601a575 user: drh tags: trunk)
00:13
Improvements to cost estimation for evaluating the IN operator. Ticket #3757. (CVS 6403) (check-in: 0c438e81 user: drh tags: trunk)
2009-03-28
23:47
Previous commit ((6401)) did not quite fix the problem. This should work better. (CVS 6402) (check-in: 2e7d3cc9 user: drh tags: trunk)
23:23
In the unix-backend, when simulating an I/O error on an unlock operation, still mark the connection as unlocked to avoid a future assert(). (CVS 6401) (check-in: fb35cff8 user: drh tags: trunk)
18:56
The test_async.c module must pass an unchanging filename to the underlying VFS. (CVS 6400) (check-in: d1eeee21 user: drh tags: trunk)
17:21
Fix thread related problems in test modules test_async.c and test_journal.c. (CVS 6399) (check-in: 45df27a2 user: danielk1977 tags: trunk)
15:04
Back out check-in (6380). Replace it with a proper fix to the xFullPathname method in the async VFS. (CVS 6398) (check-in: 767a7f7b user: drh tags: trunk)
10:54
The fix in (6395) was not correct. Fix #3756 a different way. (CVS 6397) (check-in: 9278f7b1 user: danielk1977 tags: trunk)
07:03
Fix a couple of test script bugs. No changes to SQLite code. (CVS 6396) (check-in: c9fa329f user: danielk1977 tags: trunk)
06:59
Fix readDbPage() so that if an SQLITE_IOERR_SHORT_READ is encountered, the page content is zeroed. Ticket #3756. (CVS 6395) (check-in: 647e3b15 user: danielk1977 tags: trunk)
2009-03-27
15:26
When "PRAGMA case_sensitive_like" is invoked, override all existing "LIKE" functions, including UTF-16 versions. (CVS 6394) (check-in: 1c6521e5 user: danielk1977 tags: trunk)
12:44
Fix another compiler warning in the test logic of tclsqlite.c. (CVS 6393) (check-in: 47ffc4dc user: drh tags: trunk)
12:32
Fix some compiler warnings in test code. (CVS 6392) (check-in: a43ecc9c user: drh tags: trunk)
09:10
Fix an incompatibility between the test_async.c backend and change (6390). (CVS 6391) (check-in: 6762625d user: danielk1977 tags: trunk)
2009-03-26
17:13
Check that the first byte of a potentially hot journal file is non-zero before beginning hot-journal rollback. Fix for #3751 and #3745. (CVS 6390) (check-in: 80241a05 user: danielk1977 tags: trunk)
14:48
Prevent the tcl test suite from throwing an exception when a threadsafe SQLite is linked against a non-threadsafe Tcl for testing. Print a warning instead. Ticket #3753. (CVS 6389) (check-in: a22e7c81 user: danielk1977 tags: trunk)
12:20
Added new tests of the scratch memory allocator for increased test coverage. (CVS 6388) (check-in: e99e28ef user: drh tags: trunk)
11:49
Ensure that the test vfs in test_journal.c zeroes sqlite3_file.pMethods if an xOpen() call fails. Similar problem to that fixed by #6384. This was a problem with test code, not SQLite itself. (CVS 6387) (check-in: 45ae830d user: danielk1977 tags: trunk)
2009-03-25
16:51
Remove an unused parameter from sqlite3DequoteExpr. Fix another unrelated and harmless compiler warning. (CVS 6386) (check-in: 8589b0fc user: drh tags: trunk)
15:43
Fix a problem preventing sqlite3_extended_errcode() from working correctly. (CVS 6385) (check-in: de469c46 user: danielk1977 tags: trunk)
14:24
When a VFS.xOpen fails, make sure the pMethods pointer is zeroed on the sqlite3_file object so that subsequent xClose() operations against that same file handler are no-ops. Bug in the test_async.c module only - not in the core library. Ticket #3744. (CVS 6384) (check-in: c32b4541 user: drh tags: trunk)
01:06
Use fdatasync() only on linux, unless -Dfdatasync=fdatasync is set at compilation time. (CVS 6383) (check-in: cbf2ca4c user: drh tags: trunk)
2009-03-24
18:42
Change OS_UNIX to SQLITE_OS_UNIX in test_thread.c. Modify notify2.test to print out its timings in addition to reporting success or failure. (CVS 6382) (check-in: 940d72d2 user: drh tags: trunk)
17:43
Get the OOM tester in async2.test working again. (CVS 6381) (check-in: f398a2d1 user: drh tags: trunk)
16:55
Adjust the lock.test and lock3.test scripts so that they work with the asynchronous VFS. (CVS 6380) (check-in: 40df926b user: drh tags: trunk)
16:27
Include sqliteInt.h in test_async.c so that the asynchronous VFS tests will run even if SQLITE_OS_UNIX is not explicitly defined. (CVS 6379) (check-in: 29b0d6a3 user: drh tags: trunk)
15:31
New assert()s added to verify that the Expr.token value is used correctly. Ticket #3743. (CVS 6378) (check-in: cf3d84ab user: drh tags: trunk)
15:08
Changes to insure that lookaside memory allocations are never used to hold schema content. Ticket #3743. (CVS 6377) (check-in: ea74d8dc user: drh tags: trunk)
04:46
Add a comment to prepare.c explaining why the lookaside buffer is disabled before sqlite3_exec() is called to parse a schema statement. No code changes. (CVS 6376) (check-in: 8ca6a665 user: danielk1977 tags: trunk)
2009-03-23
21:37
Clarify the meaning of a comment. No changes to code. (CVS 6375) (check-in: 7c2df04b user: drh tags: trunk)
17:49
Add asserts to make sure that database connection locks are held when accessing the lookaside memory allocation buffers. No defects were found. (CVS 6374) (check-in: 8a9f3e66 user: drh tags: trunk)
17:11
Fix an obscure race condition that can occur when multiple threads, shared cache and DDL statements are combined. Enhance notify2.test to test this scenario. (CVS 6373) (check-in: 92ec5975 user: danielk1977 tags: trunk)
04:33
Use the ROUND8() macro to round an integer up to the nearest multiple of 8 and ROUNDDOWN8() macro to round down to the nearest multiple of 8. This is a cosmetic change. (CVS 6372) (check-in: db1d4d2f user: danielk1977 tags: trunk)
02:34
Fix compiler warning in MSVC. (CVS 6371) (check-in: 83a4d5b3 user: shane tags: trunk)
2009-03-22
20:36
Allow the keyword INDEXED to be used as the name of a table or index or column - for backwards compatibility. (CVS 6370) (check-in: 53149c9f user: drh tags: trunk)
2009-03-21
16:19
Update comments in build.c to conform to the latest implementation. (CVS 6369) (check-in: a915e8e0 user: drh tags: trunk)
14:56
Rig the unix backend to use fdatasync() by default, without having to set the HAVE_FDATASYNC macro. Systems that do not support fdatasync() can be compiled using -Dfdatasync=fsync. (CVS 6368) (check-in: a3315627 user: drh tags: trunk)
14:41
On unix, always use fdatasync() instead of fsync() when available, even if the file size changes, since (we are told) fdatasync() will automatically flush the inode when the file size changes. (CVS 6367) (check-in: 0d6b11bc user: drh tags: trunk)
2009-03-20
15:16
Add a test to try to hit the race-condition fixed by (6363). (CVS 6366) (check-in: 4310411f user: danielk1977 tags: trunk)
14:42
Fix an assert failure introduced by (6355). (CVS 6365) (check-in: a08324d1 user: danielk1977 tags: trunk)
14:18
Make sure struct WhereClause is aligned on an 8-byte boundary. Fix for #3613, #3736. (CVS 6364) (check-in: 093a0cf4 user: danielk1977 tags: trunk)
13:15
Rename the unused MEM2 static mutex to OPEN and reuse it to serialize access to the sqlite3BtreeOpen() routine to prevent a race condition on detection of sharable caches. Ticket #3735. (CVS 6363) (check-in: 19fa5a29 user: drh tags: trunk)
10:24
Fix a problem in thread005.test cause errors on osx. (CVS 6362) (check-in: 56e6fca1 user: danielk1977 tags: trunk)
09:09
Fix a problem in loadext.test causing an error on OSX. This is not a real problem, just a case of the test script expecting a slightly different error message than the one returned. (CVS 6361) (check-in: 18680989 user: danielk1977 tags: trunk)
2009-03-19
18:51
Fix a couple of fairly obscure cases where an assert() could fail following a malloc failure. (CVS 6360) (check-in: cc0d9256 user: danielk1977 tags: trunk)
07:58
Change sqlite3_step() to return SQLITE_LOCKED if a statement cannot be re-compiled due to locks on the shared-cache schema. Also add a blocking wrapper of sqlite3_prepare_v2() to the test code. (CVS 6359) (check-in: e8be1af9 user: danielk1977 tags: trunk)
2009-03-18
18:43
Fix a crash that could occur when creating an index in shared-cache mode with lookaside enabled. (CVS 6358) (check-in: 097737e3 user: danielk1977 tags: trunk)
13:55
Modify test script backup2.test so that it works on OSX. (CVS 6357) (check-in: d82e8cd4 user: danielk1977 tags: trunk)
10:36
Add comments and testcase() macros to the fix for shared-cache schema default value problem of check-in (6353). (CVS 6356) (check-in: 05d8607d user: drh tags: trunk)
10:33
Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355) (check-in: a60f4191 user: danielk1977 tags: trunk)
2009-03-17
22:33
Move the rowid cache out of VdbeCursor and into BtCursor. When multiple BtCursors are open on the same table, set their rowid cache all at the same time. Ticket #3731. (CVS 6354) (check-in: 18978583 user: drh tags: trunk)
17:49
Fix a problem that could cause a crash when a shared-cache schema contains column default values. (CVS 6353) (check-in: afadddc3 user: danielk1977 tags: trunk)
15:39
Fix test script bugs in the thread002.test and thread_common.tcl. (CVS 6352) (check-in: d137e841 user: drh tags: trunk)
2009-03-16
17:07
Make sure the finished() array in thread005.test is cleared before the script starts. (CVS 6351) (check-in: ddadc25d user: drh tags: trunk)
14:48
Modify quick.test to support the QUICKTEST_INCLUDE environment variable, which can be used to override the built-in EXCLUDE list. (CVS 6350) (check-in: fdfe22f0 user: danielk1977 tags: trunk)
13:37
Additional hyperlinks in the sqlite3_unlock_notify() documentation. (CVS 6349) (check-in: 4dae5f6e user: drh tags: trunk)
13:19
Add the sqlite3_unlock_notify() API. (CVS 6348) (check-in: b649a6cc user: danielk1977 tags: trunk)
12:30
Bump the version number to 3.6.12. (CVS 6347) (check-in: 2fcccca3 user: drh tags: trunk)
10:59
Remove surplus white space from shell.c. Use strlen30() instead of strlen(). (CVS 6346) (check-in: 324a1aff user: drh tags: trunk)
2009-03-14
08:37
Fix for #3719. When synthesizing a CREATE TABLE statement as as result of a "CREATE TABLE AS", quote the column type names unless they are simple identifiers or simple identifiers followed by one or two dimensions (e.g. "VARCHAR(10)"). (CVS 6345) (check-in: 7c6437ef user: danielk1977 tags: trunk)
2009-03-13
15:32
Do not overrun a buffer in the genfkey code (now part of shell.c). Fix for #3722. (CVS 6344) (check-in: 943b11fb user: danielk1977 tags: trunk)
2009-03-12
15:43
Avoid fts3 crash on (MATCH '""') expressions. Ticket #3717. (CVS 6343) (check-in: 03679857 user: danielk1977 tags: trunk)
14:43
Make calls to sqlite3BtreeRollbackStmt() no-ops when passed a Btree* handle that does not have an open statement transaction. Ticket #3718. (CVS 6342) (check-in: a1bb1aef user: danielk1977 tags: trunk)
2009-03-05
14:59
Begin purging dirty pages from the cache once 90% of the cache is dirty (insteadof waiting until it is 100% dirty). This improves performance in some circumstances by effectively reserving 10% of the configured page-cache for frequently reused read-only pages. (CVS 6341) (check-in: 823fe7f5 user: danielk1977 tags: trunk)
14:53
Comment out a recently added assert statement that is failing. (CVS 6340) (check-in: d0b2015f user: danielk1977 tags: trunk)
05:54
Implemented winSectorSize(); Other changes for consistency. os_win.c. Ticket #2931. (CVS 6339) (check-in: 68abcb27 user: shane tags: trunk)
04:27
Changes to cleanup and improve the consistency of tests for large file support in bigfile.test. (CVS 6338) (check-in: 3dbdf680 user: shane tags: trunk)
04:23
Added some asserts and a check for a null pointer dereference. (CVS 6337) (check-in: 6b0cabd0 user: shane tags: trunk)
04:20
Corrected typos and misspellings. Ticket #3702. (CVS 6336) (check-in: 6404afa0 user: shane tags: trunk)
03:48
Removed compiler warnings from MSVC builds. Ticket #3701. (CVS 6335) (check-in: 5477833e user: shane tags: trunk)
2009-03-02
17:18
Converted EXPR_*SIZE macros to use offsetof() to avoid MSVC compiler warnings. (CVS 6334) (check-in: 5e8e16f7 user: shane tags: trunk)
14:24
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT option for the new Expr compression logic of check-in (6305). Bug discovered during regression testing. (CVS 6333) (check-in: 91969eda user: drh tags: trunk)
01:22
Fix a bug in the GROUP BY alias name resolution. The bug was by check-in (6305). Discovered by regression test on 64-bit linux. Test cases added so that the problems is detected on 32-bit systems. (CVS 6332) (check-in: fa000850 user: drh tags: trunk)
2009-03-01
22:29
Suppress some compiler warnings (where possible). Ticket #3696. (CVS 6331) (check-in: a2373e54 user: drh tags: trunk)
19:42
Fix a critical bug in the VDBE opcode array resizer introduced by check-in (6307). Bug detected by regression testing. (CVS 6330) (check-in: ec3b18ac user: drh tags: trunk)
2009-02-28
10:47
Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688. (CVS 6329) (check-in: 3befe1ef user: danielk1977 tags: trunk)
2009-02-26
07:15
In sqlite3_table_column_metadata(), hold the mutex on all attached BtShared objects while accessing schema objects. Fix for #3679. (CVS 6328) (check-in: d197afd6 user: danielk1977 tags: trunk)
2009-02-25
19:07
Move the new genfkey shell command out from within #ifdef _WIN32_ (CVS 6327) (check-in: 48ee0e47 user: drh tags: trunk)
15:43
Remove genfkey.c. Change genfkey.README to talk about the new shell dot-command, not the old standalone genfkey program. (CVS 6326) (check-in: 36d69966 user: danielk1977 tags: trunk)
15:22
Add the 'genfkey' functionality to the sqlite3 shell. Accessed using a new dot-command - ".genfkey". (CVS 6325) (check-in: 0a59fb28 user: danielk1977 tags: trunk)
08:56
Minor changes and coverge tests for "SELECT count(*)" optimization. (CVS 6324) (check-in: a3695b98 user: danielk1977 tags: trunk)
2009-02-24
19:21
Additional commands and another procedure name changes for clarity of presentation. No logic changes. (CVS 6323) (check-in: 91d9d51e user: drh tags: trunk)
18:57
Changes to comments and functions/procedure names for clarification. No changes to logic. (CVS 6322) (check-in: b99c1815 user: drh tags: trunk)
18:40
Remove old declaration of sqlite3_pending_byte (which was used by test code). It has been replaced by sqlite3PendingByte. Ticket #3677. (CVS 6321) (check-in: 44f0162e user: danielk1977 tags: trunk)
18:33
Fixes and some extra test cases for count(*) optimization. (CVS 6320) (check-in: 3f0baa1b user: danielk1977 tags: trunk)
16:18
Enhanced comments on table locking logic as it relates to preparing new statements. Added assert() and testcase() but no other changes to code. (CVS 6319) (check-in: 4a12f5b8 user: drh tags: trunk)
10:48
Add test file test/count.test for testing "SELECT count(*)" statements. It is not properly populated yet. (CVS 6318) (check-in: a195d74f user: danielk1977 tags: trunk)
10:14
Reverse commit (6315) for now. (CVS 6317) (check-in: 0e7c369c user: danielk1977 tags: trunk)
10:01
Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) (check-in: d4aa6593 user: danielk1977 tags: trunk)
2009-02-23
17:33
Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315) (check-in: 294ba6f7 user: danielk1977 tags: trunk)
16:52
Add the reverse_unordered_selects pragma. (CVS 6314) (check-in: bc078e00 user: drh tags: trunk)
14:42
Ensure the return value of sqlite3_errmsg16() is aligned on a 2-byte boundary. Ticket #3665. (CVS 6313) (check-in: 9b8acf83 user: danielk1977 tags: trunk)
2009-02-21
22:38
The sqlite3.def file is automatically generated and is not suppose to be part of the source code repository. So it is hereby removed. Ticket #3671. (CVS 6312) (check-in: 5dcda154 user: drh tags: trunk)
2009-02-20
22:27
unbreak Autoconf-based build procedure by added missing backup.lo to the list of library objects (CVS 6311) (check-in: 94945801 user: rse tags: trunk)
10:58
Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310) (check-in: e43ed649 user: danielk1977 tags: trunk)
03:55
Add a count parameter to the OP_Variable opcode and use it to simplify prepared statements that copy consecutive unnamed parameters into consecutive registers (a common case). (CVS 6309) (check-in: 48b77b04 user: drh tags: trunk)
03:02
Add the OP_HaltIfNull opcode and use it to simplify prepared statements for INSERTs and UPDATEs of tables with NOT NULL columns. (CVS 6308) (check-in: feccad8d user: drh tags: trunk)
01:28
Reuse space left-over opcode space at the end of the VDBE opcode array to store memory cells, VDBE cursors, and other content needed by the VDBE. This reduces the memory required by a prepared statement. (CVS 6307) (check-in: 58a18092 user: drh tags: trunk)
2009-02-19
20:50
Remove code in malloc.c that was already commented out using #if 0. (CVS 6306) (check-in: e1ad757e user: drh tags: trunk)
14:39
Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305) (check-in: d9f6ffbc user: danielk1977 tags: trunk)
2009-02-18
20:31
Make sure the auto_vacuum=INCREMENTAL setting is preserved across a VACUUM. Ticket #3663. (CVS 6304) (check-in: ded04f12 user: drh tags: trunk)
18:37
Move the text of C-API requirements out of the sqlite.h.in source file and into separate files in the "docsrc" CM system. Comment changes only - no changes to code. (CVS 6303) (check-in: 419eb48b user: drh tags: trunk)
12:25
Fix the amalgamation builder to mark sqlite3PagerBackupPtr as private. Ticket #3662. (CVS 6302) (check-in: fb281950 user: drh tags: trunk)
04:35
run autoconf so the updated version is in the configure script (CVS 6301) (check-in: edbb3586 user: vapier tags: trunk)
04:34
break libsqlite3.la install step out so the tcl install step can depend on it as well (CVS 6300) (check-in: 0998c554 user: vapier tags: trunk)
00:00
Version 3.6.11 (CVS 6299) (check-in: 6abd630c user: drh tags: trunk, release)
2009-02-17
18:37
Add tests to double-check that nothing within SQLite ever tries to allocate amounts of memory that are close to the maximum signed integer, leading to an integer overflow within malloc(). This is not currently a problem. The extra tests just insure it never becomes a problem. (CVS 6298) (check-in: f6ba7bb9 user: drh tags: trunk)
17:56
Initialize an uninitialized buffer to silence a valgrind warning during a VACUUM operation. (CVS 6297) (check-in: 8c61968b user: danielk1977 tags: trunk)
16:29
Allow sqlite3_shutdown() to be called by a process before sqlite3_initialize() is. Prior to this commit such a call could segfault. (CVS 6296) (check-in: 79431c58 user: danielk1977 tags: trunk)
16:17
Make sure result variables are initialized or unused following a failure of the xFullPathname VFS interface. Problem detected by valgrind. (CVS 6295) (check-in: 59a47551 user: drh tags: trunk)
2009-02-16
17:55
Changes to remove some compiler warnings from MSVC. (CVS 6294) (check-in: 68f15442 user: shane tags: trunk)
16:23
Fix a compiler warning in backup.c. (CVS 6293) (check-in: 82222fbf user: drh tags: trunk)
2009-02-13
16:59
Make sure OOM errors in the ANALYSIS loader get reported back out to high-level layers. Strange behavior can result otherwise. (CVS 6292) (check-in: 88a6355c user: drh tags: trunk)
03:43
Correctly handle attempts to add a UNIQUE or PRIMARY KEY column using the ALTER TABLE statement. Ticket #3651. (CVS 6291) (check-in: dd179ff2 user: drh tags: trunk)
2009-02-12
17:07
Add additional cross-references from API documentation to other documents. Comment changes only; no changes to code. (CVS 6290) (check-in: 97203a0a user: drh tags: trunk)
17:06
Update thread tests to clear the sqlite_open_file_count counter at the end. This counter is not threadsafe and can end up with an invalid value at the end of the thread tests. (CVS 6289) (check-in: 8c4d71a1 user: drh tags: trunk)
17:01
Fix some edge cases with backing up databases that are exactly PENDING_BYTE bytes in size, or just slightly larger. (CVS 6288) (check-in: 2fc450e8 user: danielk1977 tags: trunk)
09:36
Modify lock.test to account for "PRAGMA lock_status" returning "unknown" for in-memory databases. (CVS 6287) (check-in: 9a6e558b user: danielk1977 tags: trunk)
09:11
Fix a case where during a rollback triggered by an IO or malloc error an unjournalled region of the database could be written to (with it's original data). This was causing an assert in test_journal.c to fail. Add a test case in ioerr2.test to trigger this case. (CVS 6286) (check-in: 315a6692 user: danielk1977 tags: trunk)
2009-02-11
16:06
Updated for Windows compatibility. Test scripts only. (CVS 6285) (check-in: 2522ad1d user: shane tags: trunk)
15:23
Continuing documentation refinements. Comment changes only. (CVS 6284) (check-in: 83e83084 user: drh tags: trunk)
15:11
Fix the backup.test script so that it works regardless of the value of SQLITE_TEMP_STORE and the initial contents of the file-system. (CVS 6283) (check-in: da660ea7 user: danielk1977 tags: trunk)
15:04
Add hyperlinks from sqlite3_limit() documention to the limits.html page. Comment changes only - no changes to code. (CVS 6282) (check-in: f0189ec8 user: drh tags: trunk)
14:27
Fix the crashtest infrastructure so that it doesn't trigger the "don't write to the locking region" assert in os_unix.c. (CVS 6281) (check-in: b7fd4615 user: danielk1977 tags: trunk)
07:38
Modify the test_journal.c code to (1) account for the backup code writing to parts of the pending-byte page when changing a databases page-size, and (2) to avoid reading from the pending-byte page and triggering the assert in os_unix.c. Changes to test code only. (CVS 6280) (check-in: 48796216 user: danielk1977 tags: trunk)
05:18
In test_mutex.c, zero the global structure staticly instead of in Sqlitetest_mutex_Init(). This is because Sqlitetest_mutex_Init() is now called by each thread during thread tests ((6193)). Test code changes only. (CVS 6279) (check-in: 8b318b93 user: danielk1977 tags: trunk)
2009-02-10
18:54
For the "onefile" demo, pass SQLITE_OPEN_TEMP_DB instead of MAIN_DB to the OS layer when opening the single file. This is to work around the assert() in os_unix.c that tests that the locking region is not written to. (CVS 6278) (check-in: 2da076a2 user: danielk1977 tags: trunk)
14:45
Reduce the number of iterations in one of the savepoint4.test crash tests. (CVS 6277) (check-in: fafb07b8 user: danielk1977 tags: trunk)
14:28
Prevent code in test6.c from reading the 512 byte locking region (the PENDING_BYTE page) of a database file. Doing so triggers an assert failure in os_unix.c. (CVS 6276) (check-in: 2a6a4316 user: danielk1977 tags: trunk)
13:41
Create links from backup API documentation to the backup application note. Comment changes only - no changes to code. (CVS 6275) (check-in: 85de23fb user: drh tags: trunk)
11:17
Reenable triggering vdbe tracing by creating file-system entries. Add a (redundant) test that modifying the temp schema expires all prepared statements. (CVS 6274) (check-in: f6590dac user: danielk1977 tags: trunk)
10:44
Do not always open a transaction on the temp database when writing to the main or another attached database. (CVS 6273) (check-in: f76b0b81 user: danielk1977 tags: trunk)
05:45
Fix a bug in test file misc7.test. No code changes. (CVS 6272) (check-in: d919d2a1 user: danielk1977 tags: trunk)
2009-02-09
18:55
Fix a problem in backup.c causing OsTruncate() to be called with an argument larger than the current file-size. (CVS 6271) (check-in: b34bde80 user: danielk1977 tags: trunk)
17:34
Add assert() statements to os_unix.c which fire if there is a read or write for the locking region of a database file. (CVS 6270) (check-in: 93e792ff user: drh tags: trunk)
13:19
Better error message when DISTINCT is used on an aggregate function that takes two or more arguments. Ticket #3641. (CVS 6269) (check-in: e20bf384 user: drh tags: trunk)
05:32
Ignore the return structure of and F_GETLK fcntl() call on djgpp. Fix for #3642. (CVS 6268) (check-in: 8227af34 user: danielk1977 tags: trunk)
05:18
Attempt to reproduce ticket #3643. No luck yet. (CVS 6267) (check-in: 8f2f98d2 user: danielk1977 tags: trunk)
2009-02-06
05:59
Changes to the backup API: (1) if a negative number is passed as the second argument to backup_step(), this is interpreted as "copy all remaining pages" and (2) if backup_finish() is called after backup_step() fails with a BUSY or LOCKED error, then this error is also returned by backup_finish() (same handling as for other errors encountered by backup_step()). (CVS 6266) (check-in: 9b8c8b18 user: danielk1977 tags: trunk)
2009-02-05
17:00
Fix a test case that was still using the old pending_byte mechanism. (CVS 6265) (check-in: 08ec4f2c user: drh tags: trunk)
16:53
Fix the declaration of sqlite3PendingByte so that it works with the amalgamation. (CVS 6264) (check-in: 193c871f user: drh tags: trunk)
16:31
Make the pending byte adjustable via sqlite3_test_control() on all builds, not just on test builds. (CVS 6263) (check-in: e8f192e2 user: drh tags: trunk)
03:16
Fixed error detection in winTrucate() in os_win.c. Windows version only. Ticket #3640. (CVS 6262) (check-in: 82e03f1b user: shane tags: trunk)
03:00
Improved overrun detection in mem2.c (SQLITE_MEMDEBUG). Previously was only checking up to 3 extra bytes allocated due to rounding. (CVS 6261) (check-in: a6fe3d6b user: shane tags: trunk)
2009-02-04
22:46
Add "backup" and "restore" methods to the TCL interfaces and test cases to exercise those methods. (CVS 6260) (check-in: e420a3ce user: drh tags: trunk)
20:55
Add ".backup" and ".restore" commands to the CLI - implemented using the new backup API. (CVS 6259) (check-in: 003e1d62 user: drh tags: trunk)
20:08
Increase the version number to 3.6.11. (CVS 6258) (check-in: 0882a028 user: drh tags: trunk)
19:16
If the truncate operation fails in journalmode=TRUNCATE, do not fall back to overwriting the journal header with zeros. Simply fail the operation. (CVS 6257) (check-in: d4af60e5 user: drh tags: trunk)
17:40
Simplify wording of backup API error message. Decapitalize some other error messages. (CVS 6256) (check-in: f92405af user: drh tags: trunk)
16:56
The sqlite3_backup_init() interface must lock the destination in case it needs to change the error message. (CVS 6255) (check-in: 572378d3 user: drh tags: trunk)
15:27
Fix a bug in test_malloc.c whereby running multi-threaded test cases could cause subsequent OOM tests to fail. (CVS 6254) (check-in: 03ea9e59 user: danielk1977 tags: trunk)
11:57
Ensure that thread001.test and thread002.test reset the global shared-cache-enabled setting before they finish. (CVS 6253) (check-in: 416288a9 user: danielk1977 tags: trunk)
10:09
Do not attempt to use the sub-journal file descriptor if it is not opened (as in journal_mode=off mode). Ticket #3636. (CVS 6252) (check-in: 20bd7605 user: danielk1977 tags: trunk)
08:17
Fix a bug in malloc.test causing the exclusive permutation to fail. Changes to test code only. (CVS 6251) (check-in: 72745bde user: danielk1977 tags: trunk)
03:59
Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250) (check-in: 5cef4000 user: shane tags: trunk)
01:49
Remove compiler warnings under MSVC. (CVS 6249) (check-in: 6301f08a user: shane tags: trunk)
2009-02-03
22:51
Correction to check-ins (6246) and (6247): The backup object might not hold a valid destination connection pointer. Also, do not reset the page cache when establishing a read-lock while there is a persistent or truncated journal, only if there is a journal that really needs to rollback. Otherwise backups always reset whenever the source database file is read. (CVS 6248) (check-in: 7f827ba9 user: drh tags: trunk)
22:17
A backup must clear the internal schema of the destination database so that the schema will be reloaded for the next sqlite3_prepare() (CVS 6247) (check-in: 76f23a43 user: drh tags: trunk)
21:13
Must hold mutex on the destination during backups. Add documentation to warn programmers that attempting to use the destination connection during a backup can lead to deadlock. (CVS 6246) (check-in: 5f6c06b9 user: drh tags: trunk)
19:55
Fixed postToParent() return type (Tcl_ThreadCreateType) in test_thread.c to compile with MSVC. Removed a few compiler warnings. Test harness change only. (CVS 6245) (check-in: e9475aba user: shane tags: trunk)
19:52
Fix buffer size in md5_cmd() in test_md5.c. Test harness change only. (CVS 6244) (check-in: c1e15717 user: shane tags: trunk)
18:47
More adjustments to the backup API documentation. No changes to code. (CVS 6243) (check-in: ca650879 user: drh tags: trunk)
18:25
Tweaks to the backup API documentation contained in comments. No changes to code. (CVS 6242) (check-in: 6298bcca user: drh tags: trunk)
16:51
Commit first version of the 'backup' feature. (CVS 6241) (check-in: 663479b4 user: danielk1977 tags: trunk)
16:25
Fix the sqlite3_mprintf_long test command (added by check-in (6224) in order to address ticket #3621) so that it works on systems with sizeof(int)==4 and sizeof(long)==8. (CVS 6240) (check-in: 2e45c2a8 user: drh tags: trunk)
15:50
Remove several compiler warnings. (CVS 6239) (check-in: 85e9196d user: drh tags: trunk)
15:39
Remove the text of the sqlite3VdbeMemSanity() routine, which was already commented out. (CVS 6238) (check-in: a3c26077 user: drh tags: trunk)
15:27
Check at the write() call to work around the msdos bug in OSX actually succeeds and throw an error if it does not. #ifdef out the work-around for all platforms other than OSX. Ticket #3633. (CVS 6237) (check-in: b054b569 user: drh tags: trunk)
13:51
Add a special rule to the amalgamation generator to deal with the sqlite3OsDlSym function. Ticket #3631. (CVS 6236) (check-in: 876f874c user: drh tags: trunk)
13:19
Fix a problem in check-in (6226) which could cause an assertion fault following a malloc failure. The prior check-in was for ticket #3624. (CVS 6235) (check-in: 1ffe44e9 user: drh tags: trunk)
13:10
Check-in (6230) introduced a bugs in SUBSTR() which was caught by the fuzz tester. Fixed by this check-in. Related to ticket #3628. (CVS 6234) (check-in: cd2e7f6c user: drh tags: trunk)
2009-02-02
21:57
Make group_concat() a 1- or 2-value function, as the documentation says it should be. Use the md5sum() function to verify ticket #3179, not group_concat(). This undoes the ill-advised group_concat() change of check-in (5233). (CVS 6233) (check-in: f2ae82c4 user: drh tags: trunk)
18:03
Omit the TEMP keyword from the schema of TEMP tables created using CREATE TEMP TABLE AS SELECT ..... Ticket #3630. (CVS 6232) (check-in: 3b0a2554 user: drh tags: trunk)
17:30
Minor simplifications to SQL function implementations. (CVS 6231) (check-in: 92e5c27f user: drh tags: trunk)
16:32
Update the SUBSTR function so that works consistently when the 2nd parameter is 0. Ticket #3628. (CVS 6230) (check-in: 5fc125d3 user: drh tags: trunk)
01:50
Restrict the RANDOM() function to have zero arguments. Ticket #3627. (CVS 6229) (check-in: b8b546b6 user: drh tags: trunk)
2009-02-01
19:42
Fix SUBSTR() so that it returns NULL if any argument is NULL. Ticket #3626. (CVS 6228) (check-in: 779fce82 user: drh tags: trunk)
19:23
Fix the SUBSTR() function so that when the 3rd argument is negative, it counts backwards from the selected start point. Ticket #3625. (CVS 6227) (check-in: 2217339b user: drh tags: trunk)
18:08
Change the replace() function to return a copy of its first argument when the 2nd argument is an empty string. Ticket #3624. (CVS 6226) (check-in: ffebf10f user: drh tags: trunk)
00:29
Adjust comments in vdbe.c to use OP_MakeRecord instead of the obsolete OP_MakeIdxRec. Ticket #3619. (CVS 6225) (check-in: 0d2abbbf user: drh tags: trunk)
00:21
Add a new test command, sqlite3_mprintf_long, for testing the behavior of "long integer" printf formatting. Ticket #3621. (CVS 6224) (check-in: 3ba1a17b user: drh tags: trunk)
00:00
Make the TO keyword available even if SQLITE_OMIT_ALTERTABLE is defined. Ticket #3622. (CVS 6223) (check-in: 3890985c user: drh tags: trunk)
2009-01-31
22:28
Better error message when coalesce() has too few arguments. Ticket #3623. (CVS 6222) (check-in: 9cd43c82 user: drh tags: trunk)
14:54
Avoid a segfault when running vacuum on an in-memory database. Ticket #3620. (CVS 6221) (check-in: 407830c6 user: danielk1977 tags: trunk)
2009-01-30
17:27
Fix a round-off error when moving dates by negative modifier amounts. Ticket #3618. Enhance the "NNN years" modifier to accept fractional years. (CVS 6220) (check-in: 86be908c user: drh tags: trunk)
16:09
Made code to remove unused parameter warning part of the conditional. Ticket #3610. (CVS 6219) (check-in: c5dca114 user: shane tags: trunk)
06:11
Changes to setupLookaside() in main.c to better handle lookaside buffer configurations of zero-size. Ticket #3616. (CVS 6218) (check-in: 0a2c7f74 user: shane tags: trunk)
05:59
Implemented the SQLITE_LAST_ERRNO op in the xFileControl() method of os_win.c. Ticket #3615. (CVS 6217) (check-in: 9ea871f3 user: shane tags: trunk)
05:47
In test case incrvacuum-15.1 close both db handles (db and db2) before attempting to delete test.db. Ticket #3614. (CVS 6216) (check-in: e764a7c5 user: shane tags: trunk)
05:40
Minor changes to remove a few MSVC compiler warnings at /W3. Ticket #3610. (CVS 6215) (check-in: c74c78e4 user: shane tags: trunk)
2009-01-29
19:27
Add test cases to make sure that keywords that we say can be used as identifiers really can be used as identifiers. These tests were inspired by ticket #3612, but they do not directly address ticket #3612. (CVS 6214) (check-in: 6041ca87 user: drh tags: trunk)
02:54
add a cvsignore file (CVS 6213) (check-in: 68c8cdd7 user: vapier tags: trunk)
2009-01-28
20:21
Fix a segfault that can occur when attempting to insert into a corrupt database file. Need a test case. (CVS 6212) (check-in: 68957cf0 user: drh tags: trunk)
04:46
regenerate autotools (CVS 6211) (check-in: 813a3c96 user: vapier tags: trunk)
04:46
unify TCLLIBDIR handling with libtclsqlite3.so and use libtool to install it rather than custom tclinstaller.tcl ... this integrates better with autotools and avoids relinking issues (RPATH pointing to builddir) (CVS 6210) (check-in: 3a049ca7 user: vapier tags: trunk)
02:55
Add testcase() macros for coverage in date.c. (CVS 6209) (check-in: 90b42eba user: drh tags: trunk)
2009-01-26
21:43
use AC_MSG_xxx funcs rather than `echo` (CVS 6208) (check-in: ed08025a user: vapier tags: trunk)
21:39
(#3449) search for tclConfig.sh first by asking tclsh itself where it is (CVS 6207) (check-in: ff2912dc user: vapier tags: trunk)
21:25
(#1428) installed shared libs with exec perms (CVS 6206) (check-in: 3f2a3414 user: vapier tags: trunk)
20:59
(#3583) add a rule for sqlite3.pc in case the .in file is updated (CVS 6205) (check-in: 4d03b693 user: vapier tags: trunk)
2009-01-24
15:23
Remove obsolete files from the tools subfolder. (CVS 6204) (check-in: d7456080 user: drh tags: trunk)
11:30
Fix some minor compiler warnings. Added sqlite3Isalpha() for use in the soundex() function. (CVS 6203) (check-in: bfc71edc user: drh tags: trunk)
09:56
Remove incorrect ALWAYS macro associated with empty IN() sets. Ticket #3602. (CVS 6202) (check-in: f3c09a0c user: danielk1977 tags: trunk)
2009-01-23
16:45
Optimization: When loading a new page into the cache, avoid redundant memset() calls to zero it. (CVS 6201) (check-in: 9c0b9f88 user: danielk1977 tags: trunk)
2009-01-22
23:04
Fix the VACUUM command so that it does not commit a transaction when it is mistakenly run within a transaction - it should leave the transaction open. (CVS 6200) (check-in: 75cc709b user: drh tags: trunk)
17:12
Silence a C++ builder warning by writing "if( (rc = function())!=SQLITE_OK )" instead of "if( (rc = function()) )" in two places in pager.c. Ticket #3605. (CVS 6199) (check-in: 78ae96de user: danielk1977 tags: trunk)
2009-01-21
17:45
Add a comment to fts3_tokenizer.h to make it clear how the xNext() method is supposed to set its output variables. Make sure the output variables of xNext() are only used if SQLITE_OK is returned. Ticket #3604. (CVS 6198) (check-in: 5b3c075f user: danielk1977 tags: trunk)
2009-01-20
17:06
Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197) (check-in: 12f7346c user: danielk1977 tags: trunk)
16:53
When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) (check-in: 1041abd6 user: danielk1977 tags: trunk)
2009-01-19
20:49
Make sure the *pzErrMsg return from sqlite3_get_table() is aways zeroed. Ticket #3598. (CVS 6195) (check-in: 7035c35d user: drh tags: trunk)
18:18
Fix the --enable-tempstore option on the configure script. Ticket #3599 (CVS 6194) (check-in: c2eabb99 user: drh tags: trunk)
17:40
Make sure mutexes are fully enabled for thread001.test. Take steps to ensure that the thread tests run during regression testing. (CVS 6193) (check-in: 6242f113 user: drh tags: trunk)
2009-01-17
16:59
Fix a bug that was preventing SQLite from releasing locks properly under obscure circumstances. (CVS 6192) (check-in: 502c66df user: danielk1977 tags: trunk)
15:53
Back out the Makefile.in changes from check-in (6181) because of reports (ticket #3594) that they do not work on NetBSD. Separately, documentation is updated to make clear that configure and Makefile.in are unsupported. (CVS 6191) (check-in: 2d79aaab user: drh tags: trunk)
2009-01-16
23:47
Remove a harmless UMR that occurs inside some debugging code. (CVS 6190) (check-in: 191c399f user: drh tags: trunk)
16:40
Fix a change-counter bug similar to #3584. This one is much more obscure though, requiring a transient IO or malloc error to occur while running in exclusive mode. (CVS 6189) (check-in: 9f07d2d9 user: danielk1977 tags: trunk)
16:23
Revert (6187). (CVS 6188) (check-in: a353c1ab user: danielk1977 tags: trunk)
15:21
This commit is an error. Reverted by (6188). (CVS 6187) (check-in: aa67fd0c user: danielk1977 tags: trunk)
11:04
Allow recently added keywords 'savepoint' and 'release' to be used as database object names. Just as they could be prior to 3.6.8. Ticket #3590. (CVS 6186) (check-in: 54ab8326 user: danielk1977 tags: trunk)
2009-01-15
17:40
Treat "or" as an ANSI-C keyword, even though it is not. Ticket #3588. (CVS 6185) (check-in: ed4e308c user: drh tags: trunk)
17:04
Version 3.6.10 (CVS 6184) (check-in: 21b720cc user: drh tags: trunk, release, version-3.6.10)
15:23
Disable test case select2-2.0.3. This was a timing test that sometimes fails due to CPU contention with other processes on the same host. (CVS 6183) (check-in: ffdf91fe user: drh tags: trunk)
04:30
Avoid using ENOTSUP on systems that do not define that symbol. Ticket #3512. (CVS 6182) (check-in: fcb6c677 user: drh tags: trunk)
2009-01-14
23:38
Make some changes requested by Fedora. (CVS 6181) (check-in: 7bc08bc7 user: drh tags: trunk)
23:17
Fix the shell so that the ".schema" command works regardless of the pragma settings. Ticket #3585. (CVS 6180) (check-in: 6f6b638e user: drh tags: trunk)
23:03
Add asserts to detect if a transaction commits without first incrementing the transaction counter. These asserts are intended to prevent future problems similar to ticket #3584. (CVS 6179) (check-in: b676ccfd user: drh tags: trunk)
18:59
Fix typos in comments in FTS3 implementation. (CVS 6178) (check-in: b0f06663 user: drh tags: trunk)
18:59
Increment the version number in preparation for yet another release. (CVS 6177) (check-in: dce60ea7 user: drh tags: trunk)
17:45
Fix a problem with committing a transaction while there are other active statements. Sometimes, the database change counter was not being updated. (CVS 6176) (check-in: b7d2a477 user: danielk1977 tags: trunk)
04:09
Version 3.6.9 (CVS 6175) (check-in: b6ce8199 user: drh tags: trunk, release)
01:10
Here is the test case to prove that ticket #3581 is fixed. (CVS 6174) (check-in: f5f5ef64 user: drh tags: trunk)
00:55
Make sure the OR-clause optimizer takes the cost of sorting into account. Reset the rowid cache on the OP_Rewind and OP_Last opcodes. Bump the version number so that we can do an emergency release. Ticket #3581. (CVS 6173) (check-in: d28b5820 user: drh tags: trunk)
2009-01-13
20:14
Updates to comments as suggested by tickets #3578 and #3579. (CVS 6172) (check-in: b5927213 user: drh tags: trunk)
16:03
If the journal file is open when unlocking the database, close it just before unlocking the database file instead of just after. This may fix #3572. (CVS 6171) (check-in: 36fe9a7a user: danielk1977 tags: trunk)
2009-01-12
15:46
Version 3.6.8 (CVS 6170) (check-in: 8ca0b7c1 user: drh tags: trunk, release)
14:01
Only run tests that depend on SQLITE_PREFER_PROXY_LOCKING builds when said symbol is set. (CVS 6169) (check-in: 5d88f8be user: danielk1977 tags: trunk)
2009-01-11
18:24
Sometimes a single byte is written to the main database file. Make sure that journaltest knows this. (CVS 6168) (check-in: e0af5a43 user: drh tags: trunk)
17:00
Fix an assert() so that it works correctly with SQLITE_TEMP_STORE=3. (CVS 6167) (check-in: fd2bbcf8 user: drh tags: trunk)
05:54
Fix jrnlmode.test so that it does not run tests involving in-memory journals during the "journaltest" permutation. (CVS 6166) (check-in: b47ddefc user: danielk1977 tags: trunk)
00:44
The crash8.test depends on auto_vacuum being off. Make sure that is the case. (CVS 6165) (check-in: 3538d2a9 user: drh tags: trunk)
00:42
In io.test, reset the connection after manually deleting the journal file, so that the connection does not continue to use the old deleted journal file. (CVS 6164) (check-in: 1e79f4f9 user: drh tags: trunk)
00:18
Adjust savepoint.test so that it can deal with SQLITE_TEMP_STORE=3. (CVS 6163) (check-in: 3cb910f0 user: drh tags: trunk)
2009-01-10
18:51
Do not run crash8.test as part of the "journaltest" permutation. crash8.test uses "PRAGMA synchronous=off", which is incompatible with journaltest. (CVS 6162) (check-in: 5f184da6 user: danielk1977 tags: trunk)
17:57
Remove the unused Pager.alwaysRollback flag. Fix a couple of comments in pager.c. (CVS 6161) (check-in: 8f0672af user: danielk1977 tags: trunk)
17:02
Remove an faulty assertion inserted a few days ago. (CVS 6160) (check-in: 495f017e user: drh tags: trunk)
16:15
When compiled with SQLITE_DEBUG (in other words, when assert() is enabled) the ALWAYS and NEVER macros will throw an assertion if their arguments are not true or false, respectively. (CVS 6159) (check-in: 64a8dcd8 user: drh tags: trunk)
16:15
Improve coverage of pager.c. (CVS 6158) (check-in: 855c4093 user: danielk1977 tags: trunk)
15:34
Fix a bug caused by overzealous code test coverage simplifications. Bug found by TH3. (CVS 6157) (check-in: 3da55787 user: drh tags: trunk)
13:24
Remove some unused code from expr.c in order to increase test coverage. (CVS 6156) (check-in: 2cbea64f user: drh tags: trunk)
11:13
Fix a bug in the previous commit - use SQL comments instead of Tcl comments in SQL blocks. (CVS 6155) (check-in: 3d7a8de2 user: danielk1977 tags: trunk)
11:10
Add a malloc failure test case that covers a few previously untested lines in pager.c (CVS 6154) (check-in: 000aedb0 user: danielk1977 tags: trunk)
2009-01-09
21:41
Coverage improvements in pragma.c. Change the __DARWIN__ macro to __APPLE__, which is available by default on Leopard. (CVS 6153) (check-in: 64c56226 user: drh tags: trunk)
17:11
Increase pager.c coverage a bit. Fix an assert failure that can occur following a "PRAGMA omit_readlock" command on a read-only database. (CVS 6152) (check-in: 0f3f9011 user: danielk1977 tags: trunk)
14:29
Fix two problems in test instrumentation that show up on some fulltests. (CVS 6151) (check-in: c9179617 user: drh tags: trunk)
14:11
Simplifications to btree.c to improve test coverage. (CVS 6150) (check-in: ac84f106 user: drh tags: trunk)
10:49
Add a couple of coverage tests. (CVS 6149) (check-in: 6a64109d user: danielk1977 tags: trunk)
02:49
More coverage improvements. (CVS 6148) (check-in: 6e171c0a user: drh tags: trunk)
01:12
Increased test coverage. (CVS 6147) (check-in: 45bb5703 user: drh tags: trunk)
2009-01-08
21:00
Increased test coverage in where.c. (CVS 6146) (check-in: 1e5725c5 user: drh tags: trunk)
18:04
Fix a comment in pager.c. No actual code changes. (CVS 6145) (check-in: 44d3bfdd user: danielk1977 tags: trunk)
17:57
Avoid an 'invalid cast' warning in test_osinst.c. (CVS 6144) (check-in: 931f3a21 user: danielk1977 tags: trunk)
17:50
Fix a couple of potential corruption problems in pager.c. (CVS 6143) (check-in: 5a39525b user: danielk1977 tags: trunk)
15:24
Add a test script for ticket #2565. Change the assert() in pager.c into a testcase() macro. (CVS 6142) (check-in: 1e53e382 user: drh tags: trunk)
14:36
Allow database files to be created in the root directory on unix. Ticket #3570. (CVS 6141) (check-in: 81014334 user: drh tags: trunk)
12:05
Clean up test_journal.c to make it easier to follow. (CVS 6140) (check-in: 5a28c7c7 user: danielk1977 tags: trunk)
03:11
Increase test coverage of where.c. Make sure OR-optimization works on UPDATE and DELETE in addition to SELECT. (Bug found by coverage tests.) (CVS 6139) (check-in: 4b2c08e8 user: drh tags: trunk)
2009-01-07
20:58
Add new test cases to increase coverage of where.c. (CVS 6138) (check-in: 2e1ab51f user: drh tags: trunk)
18:24
Fix a bug in the LIKE query optimization. (Found by coverage testing.) (CVS 6137) (check-in: fe90e911 user: drh tags: trunk)
18:08
Make the same change as (6121) (accidentally reverted). Also enhance test_journal.c to catch this kind of bug. (CVS 6136) (check-in: ccc9c211 user: danielk1977 tags: trunk)
17:06
Add a "synchronous = off" variant to savepoint6.test. (CVS 6135) (check-in: 0f57011e user: danielk1977 tags: trunk)
16:15
Change SQLITE_MAX_FUNCTION_ARG from 100 to 127 to match invariant H16124. Ticket #3567. (CVS 6134) (check-in: 1fe79ffd user: danielk1977 tags: trunk)
15:52
For archival purposes, add the TCL script that was used to generate many of the test cases for where7.test. (CVS 6133) (check-in: 0e01cdc8 user: drh tags: trunk)
15:33
Conjecture: a journal header with nRec==0 must be the last header in the journal. Add asserts to make this conjecture explicit. (CVS 6132) (check-in: 15b5b5f9 user: drh tags: trunk)
15:18
Fix for 'truncate file' operations on in-memory databases. (CVS 6131) (check-in: 83d1eafb user: danielk1977 tags: trunk)
10:52
Add a comment to the openSubjournal() function in pager.c. (CVS 6130) (check-in: 04387ae1 user: danielk1977 tags: trunk)
10:35
Fix a problem with reverting a 'DROP TABLE' command executed inside of a savepoint on an auto-vacuum database. (CVS 6129) (check-in: 3a4bb832 user: danielk1977 tags: trunk)
08:12
Fix savepoint related bugs. A rollback caused by an IO error or "OR ROLLBACK" clause while one or more savepoints were open was leaving the sqlite3 structure in an invalid state. (CVS 6128) (check-in: e5d42c69 user: danielk1977 tags: trunk)
03:59
Add a HIGHSTRESS parameter to the sqlite3_config_alt_pcache debugging command in the test harness - to force calling pagerStress() more frequently. (CVS 6127) (check-in: e426860b user: drh tags: trunk)
02:03
Pager changes attempting to verify that ticket #2565 cannot recur. (CVS 6126) (check-in: 15b9dac4 user: drh tags: trunk)
2009-01-06
18:43
Now that we have permutations.test, it is really only necessary to run all.test for a single cycle. So make that the default. (CVS 6125) (check-in: 3c2f292f user: drh tags: trunk)
18:21
Reduce the number of paths in btreeCopyFile(). (CVS 6124) (check-in: df2c285c user: danielk1977 tags: trunk)
17:52
Modify test_journal.c to verify the page data being written to the journal file. (CVS 6123) (check-in: 0d258956 user: danielk1977 tags: trunk)
15:58
Cleanup of the PAGERTRACE macro. Other comment changes in pager.c. (CVS 6122) (check-in: ee7b4b60 user: drh tags: trunk)
15:28
The fix in (6120) wasn't quite right. This fixes it. (CVS 6121) (check-in: ddc2ebfa user: danielk1977 tags: trunk)
15:20
Fix a recently introduced problem in "permutations.test autovacuum_crash". (CVS 6120) (check-in: 2cdbb468 user: danielk1977 tags: trunk)
14:50
Update permutations.test so that it does not show an error when running the singlethread and multithread test cases on THREADSAFE=0 builds. (CVS 6119) (check-in: 301b57b7 user: drh tags: trunk)
14:34
Fix a memory leak in test_journal.c (test code). Also remove function pager_truncate_cache(), a wrapper around sqlite3PCacheTruncate(), from pager.c. (CVS 6118) (check-in: a64f3db0 user: danielk1977 tags: trunk)
14:19
Fix compiler warnings. (CVS 6117) (check-in: da770a8d user: drh tags: trunk)
13:40
Add some savepoint related test cases and fix a few problems. (CVS 6116) (check-in: 8c62ea4f user: danielk1977 tags: trunk)
00:11
Remove leftover "breakpoint" from the fuzz.test script. (CVS 6115) (check-in: c2482d88 user: drh tags: trunk)
00:08
Fix a problem in the WHERE clause generator when the FROM clause is empty. (CVS 6114) (check-in: a7015625 user: drh tags: trunk)
2009-01-05
22:30
The fix in (6111) was not quite right. This version works better. (CVS 6113) (check-in: 5f80140a user: drh tags: trunk)
19:36
Reenable fuzz testing for all.test. Make sure the query flattener copies over aggregate information from expressions on outer query terms while flattening. (CVS 6112) (check-in: e02323b3 user: drh tags: trunk)
18:02
Make sure the MEM_Zero flags is cleared whenever removing MEM_Blob. (CVS 6111) (check-in: b2131e86 user: drh tags: trunk)
17:19
Include fuzz3.test in all.test. Get fuzz3.test working again. (CVS 6110) (check-in: 77dc19cf user: drh tags: trunk)
17:15
Fix some test code problems in "permutations.test journaltest pager.test". (CVS 6109) (check-in: cf627752 user: danielk1977 tags: trunk)
2009-01-03
15:06
Add some tests with attached databases to savepoint.test. Also tests of creating and dropping tables in auto-vacuum mode inside of a savepoint. (CVS 6108) (check-in: ca7f11d5 user: danielk1977 tags: trunk)
14:04
When the commit_hook calls a query recursively, make sure the commit_hook is not invoked recursively. Ticket #3564. (CVS 6107) (check-in: 27ae4065 user: drh tags: trunk)
12:55
Fix a typo in a comment. (CVS 6106) (check-in: 50f57cd1 user: drh tags: trunk)
10:41
Add test file savepoint6.test. Contains pseudo random tests of savepoint related commands. (CVS 6105) (check-in: 2946fbb7 user: danielk1977 tags: trunk)
2009-01-02
21:39
Memory allocation failure in Bitvec are probably all benign. Still, add code to check this, just to be sure. (CVS 6104) (check-in: 4688e1c8 user: drh tags: trunk)
21:08
Reinitialize page 1 of the database file following a ROLLBACK TO of a transactional SAVEPOINT on an initially empty database. (CVS 6103) (check-in: 3e9efb76 user: drh tags: trunk)
18:10
Fix compiler warnings in pager.c (CVS 6102) (check-in: 78dd7909 user: drh tags: trunk)
17:33
Modify the (transaction) method of the tcl interface to use savepoints. This makes nested calls to (transaction) work more intuitively. (CVS 6101) (check-in: f047758d user: danielk1977 tags: trunk)
15:47
Add fts_expr.* files to Makefile.in. (CVS 6100) (check-in: 524c8634 user: shane tags: trunk)
15:45
Many of the boundary tests depend on a working 64-bit implementation of TCL, so skip them if this is not available. (CVS 6099) (check-in: b1a4a17f user: shane tags: trunk)
12:35
Increment the version number to 3.6.8. (CVS 6098) (check-in: 7509641a user: drh tags: trunk)
01:10
Do not display matches against the right-hand side of a NOT operator in the output of the FTS snippet() or offsets() functions. (CVS 6097) (check-in: d44c84c0 user: drh tags: trunk)
2009-01-01
15:20
Fix a (benign) valgrind error that can occur following malloc failure while executing a 'ROLLBACK TO savepoint' command. (CVS 6096) (check-in: 9ff8598f user: danielk1977 tags: trunk)
14:06
Fix some problems in the fts3 expression parser with mismatched parenthesis. (CVS 6095) (check-in: ccfe4580 user: danielk1977 tags: trunk)
12:34
Additional test cases and cleanup of FTS3 parenthesis processing. (CVS 6094) (check-in: afac4293 user: drh tags: trunk)
07:42
Add a couple of extra tests for the fts3 expression parser to improve mcdc coverage. (CVS 6093) (check-in: 13146b34 user: danielk1977 tags: trunk)
07:08
Add pseudo-random tests of the fts3 expression parser. Revise the fix in (6091). (CVS 6092) (check-in: 11c2d468 user: danielk1977 tags: trunk)
04:19
Fix a bug parsing "<expr> AND (abc NEAR def)" in fts3_expr.c. (CVS 6091) (check-in: d1a6a2ed user: danielk1977 tags: trunk)
2008-12-31
21:52
Avoid surplus bytes at the end of the keyword string table. Add testcase() macros to make sure all keywords are used during testing. (CVS 6090) (check-in: 73958060 user: drh tags: trunk)
19:27
Fix the name in the documentation of the compile-time macro for enabling FTS3 parenthesis processing. (CVS 6089) (check-in: ac8258da user: drh tags: trunk)
16:27
Fix the FTS3 expression parser so that it works in the amalgamation when FTS3 is disabled. (CVS 6088) (check-in: 7e238e86 user: drh tags: trunk)
16:01
Fix the FTS3 module with parenthesis syntax so that it will work in the amalgamation. (CVS 6087) (check-in: c2b9891f user: drh tags: trunk)
2008-12-30
17:55
Fix a bug in the multi-index OR cost estimator. Remove leftover "breakpoint" commands from test scripts. (CVS 6086) (check-in: b090d573 user: drh tags: trunk)
16:35
Add LEFT JOIN test cases for multi-index OR in where9.test. (CVS 6085) (check-in: 96f3b629 user: drh tags: trunk)
16:18
Get EXPLAIN QUERY PLAN working with the multi-index OR optimization. Added new test script "where9.test". (CVS 6084) (check-in: 4b646022 user: drh tags: trunk)
16:13
Add further pseudo-randomly generated test cases to where8.test. (CVS 6083) (check-in: e01f6ef9 user: danielk1977 tags: trunk)
15:51
Fix a bug in where8.test causing a tcl exception. (CVS 6082) (check-in: 495b569a user: danielk1977 tags: trunk)
15:26
Add a few more tests to where8.test. (CVS 6081) (check-in: ac28aa8b user: danielk1977 tags: trunk)
14:40
Still more test cases in where7.test. (CVS 6080) (check-in: eb9ba5fe user: drh tags: trunk)
14:14
Add many new test cases to where7.test. (CVS 6079) (check-in: 17498583 user: drh tags: trunk)
13:21
Do not run savepoint4.test (crash simulation tests) in permutations.test. It slows things down too much. (CVS 6078) (check-in: 2df02b54 user: danielk1977 tags: trunk)
12:00
Add a couple of extra tests for the "WHERE ... OR" optimization. (CVS 6077) (check-in: 35c87585 user: danielk1977 tags: trunk)
09:45
Fix a bug in where.c causing a malfunction when an INDEXED BY clause specified an unusable index on other than the leftmost table in the FROM clause. Ticket #3560. (CVS 6076) (check-in: f8ff0212 user: danielk1977 tags: trunk)
06:36
Fix a bug in README.tokenizers. Ticket #3559. (CVS 6075) (check-in: b8898d13 user: danielk1977 tags: trunk)
06:24
Invoke the authorization callback when compiling SAVEPOINT, ROLLBACK TO and RELEASE commands. (CVS 6074) (check-in: e49807b1 user: danielk1977 tags: trunk)
2008-12-29
23:45
Always make sure WhereClause objects are initialized to zero when they are first allocated. (CVS 6073) (check-in: 7d0ae55d user: drh tags: trunk)
18:33
Add test file where8.test. (CVS 6072) (check-in: bff460ec user: danielk1977 tags: trunk)
14:51
Remove an old variable declaration that was commented out using a C++ comment. (CVS 6071) (check-in: 0b972f14 user: danielk1977 tags: trunk)
10:39
Set the OPFLG_IN1 flag on a couple of extra opcodes. (CVS 6070) (check-in: 03d03504 user: danielk1977 tags: trunk)
2008-12-28
20:47
Multi-index OR optimizer response to ORDER BY rowid. But fix in sqlite3_stmt_status(): report a full table scan when "ORDER BY rowid" is used without constraints. (CVS 6069) (check-in: 3464d369 user: drh tags: trunk)
18:35
Optimize WHERE clauses that constain AND, BETWEEN, and LIKE terms as operands of an OR. (CVS 6068) (check-in: 67cf24b3 user: drh tags: trunk)
16:55
Simplify the VM code that implements WHERE claues. (CVS 6067) (check-in: fa95f843 user: drh tags: trunk)
2008-12-27
15:23
Fix a problem with savepoint and incremental-vacuum. (CVS 6066) (check-in: 08352f9e user: danielk1977 tags: trunk)
2008-12-26
07:56
Reset the column cache before coding each step of a trigger program. Candidate fix for #3554. (CVS 6065) (check-in: a1b1f6cd user: danielk1977 tags: trunk)
2008-12-24
11:25
Fix a virtual table related assert() that can fail following a malloc failure. (CVS 6064) (check-in: c6fd3b8f user: danielk1977 tags: trunk)
09:30
Fix a couple of problems in test file test_journal.c that were causing segfaults when running all.test. (CVS 6063) (check-in: 416c9efb user: danielk1977 tags: trunk)
2008-12-23
23:56
Continuing improvements to the multi-index OR-clause optimizer. Added a few simple test cases. (CVS 6062) (check-in: 55d4f493 user: drh tags: trunk)
19:15
Fix a problem with the savepoint code and in-memory journals. (CVS 6061) (check-in: 26ceebf3 user: danielk1977 tags: trunk)
16:23
Fix an OOM problem in where.c. (CVS 6060) (check-in: d2105f61 user: drh tags: trunk)
15:58
Make sure nOverflow is always cleared when a page is released. (CVS 6059) (check-in: 8d0f7244 user: drh tags: trunk)
13:35
Multi-index OR-clause optimization now works for simple tests. There are no test scripts for it yet, though. And it is disabled by default, pending further testing and optimization. We need a lot of both. (CVS 6058) (check-in: d77a7023 user: drh tags: trunk)
11:46
Add a test to savepoint.test that tests that nothing goes wrong if an incremental vacuum occurs inside a savepoint. (CVS 6057) (check-in: fc4f0621 user: danielk1977 tags: trunk)
11:11
In sqlite3AddColumn(), use local variable 'db' instead of 'pParse->db'. (CVS 6056) (check-in: 0c53a4c2 user: danielk1977 tags: trunk)
10:37
Fix a couple of assert() failures that can occur in btree.c and pager.c. (CVS 6055) (check-in: ae44e748 user: danielk1977 tags: trunk)
2008-12-22
15:04
Fix a reference counting bug in rtree. Ticket #3549. (CVS 6054) (check-in: bbdc0e9f user: danielk1977 tags: trunk)
11:43
Changes to test scripts so that veryquick.test runs with SQLITE_TEMP_STORE=3 defined. Also a fix to stop the same switch causing a crash in the savepoint code. (CVS 6053) (check-in: ee0e6eae user: danielk1977 tags: trunk)
10:58
Add a case to permutations.test to run tests with the test_journal.c backend installed. Also many fixes to test_journal.c and one quite obscure fix to pager.c. (CVS 6052) (check-in: bb177e30 user: danielk1977 tags: trunk)
03:37
Fix a variable type to prevent a warning in the proxy-locking code. (CVS 6051) (check-in: d9595b96 user: danielk1977 tags: trunk)
2008-12-21
03:51
Continue refactoring where.c in preparation for installing OR-clause optimizations. (CVS 6050) (check-in: 778e91dd user: drh tags: trunk)
2008-12-20
18:33
Add a vfs backend that detects problems like the one addressed by (6043) and (6047). (CVS 6049) (check-in: 49172e48 user: danielk1977 tags: trunk)
13:18
Do not use long long constants in code. Ticket #3547. (CVS 6048) (check-in: 51b3bfc3 user: drh tags: trunk)
08:39
Fix the crash-followed-by-corruption bug revealed by savepoint4.test. This is actually the same bug as was fixed by (6043). The fix was not entirely correct. (CVS 6047) (check-in: 68833626 user: danielk1977 tags: trunk)
02:14
Specify type "void" in the parameter list of functions that take no parameters. Tickets #3545 and #3546. (CVS 6046) (check-in: c2228bd1 user: drh tags: trunk)
02:06
Enhanced analysis of OR terms in a WHERE clause. Another step toward being able to use indices with OR-connected WHERE clause terms. (CVS 6045) (check-in: c3f7aa01 user: drh tags: trunk)
2008-12-19
18:45
Add extra crash test cases that stress the savepoint mechanism to savepoint4.test. Currently, these tests are causing database corruption which (obviously) needs to be fixed. (CVS 6044) (check-in: e06a968a user: danielk1977 tags: trunk)
16:31
Add some crash-tests for savepoint. Fix a bug revealed by these tests. (CVS 6043) (check-in: 6f36c166 user: danielk1977 tags: trunk)
11:37
Add the file ext/fts3/README.syntax, containing documentation describing the two query syntaxes now supported by fts3. (CVS 6042) (check-in: ed81ad5a user: danielk1977 tags: trunk)
2008-12-18
22:25
Fix the Oracle and MS-Sql command-line terminator logic in the CLI. Ticket #3544. (CVS 6041) (check-in: dcc8935f user: drh tags: trunk)
18:31
Increase test coverage of new savepoint code. (CVS 6040) (check-in: d915718d user: danielk1977 tags: trunk)
15:45
Add savepoint2.test, a file containing savepoint tests similar to tests in trans.test and avtrans.test. And a few savepoint bug fixes. (CVS 6039) (check-in: 98a53d91 user: danielk1977 tags: trunk)
05:30
Fix a bug in icuOpen() in fts2. (CVS 6038) (check-in: b9c722bd user: danielk1977 tags: trunk)
2008-12-17
19:22
Update the WHERE clause processing infrastructure in preparation for adding multi-index OR evaluation. (CVS 6037) (check-in: 78401b33 user: drh tags: trunk)
17:30
Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) (check-in: 34b56600 user: danielk1977 tags: trunk)
15:49
Fix some strict-aliasing problems in fts3_expr.c. (CVS 6035) (check-in: 20a4ca5d user: danielk1977 tags: trunk)
15:18
Modify fts3 to support a more complex expression syntax that allows parenthesis. The new syntax is not entirely backwards compatible, so is disabled by default. Use -DSQLITE_ENABLE_FTS3_PARENTHESIS to enable it. (CVS 6034) (check-in: 7389b9ec user: danielk1977 tags: trunk)
2008-12-16
18:15
Version 3.6.7 (CVS 6033) (check-in: f4f40370 user: drh tags: trunk, release)
17:20
Fix a compile error in an assert() and a warning with MSVC builds. (CVS 6032) (check-in: 8b8f6a6a user: shane tags: trunk)
13:46
Make sure the memory returned from sqlite3ScratchMalloc() is 8-byte aligned. Ticket #3542. (CVS 6031) (check-in: 13b56b7f user: drh tags: trunk)
2008-12-15
22:51
New hyperlinks added to C interface documentation. No changes to working code. (CVS 6030) (check-in: 230cb68e user: drh tags: trunk)
16:33
Add test cases that verify evaluation of randomly generated SQL expressions. (CVS 6029) (check-in: 4685ffcc user: drh tags: trunk)
15:27
Convert the "~" and "NOT" operators to be two-address instructions. Ticket #3541. (CVS 6028) (check-in: ea9b747e user: drh tags: trunk)
2008-12-14
14:45
Add the example from #3359 to the test suite. (CVS 6027) (check-in: 84f8417c user: danielk1977 tags: trunk)
02:55
Fix the name of the source algorithm in the comments of the script generators for the recently checked-in test cases for integer boundary-value testing. (CVS 6026) (check-in: adba0f3c user: drh tags: trunk)
2008-12-12
19:19
Add many new integer boundary value tests. Ticket #3536. (CVS 6025) (check-in: 45277238 user: drh tags: trunk)
17:56
Rework the rowid lookup logic in the query optimizer to fix various boundary value problems. Ticket #3536. Renamed the OP_MoveXX opcodes to OP_SeekXX. (CVS 6024) (check-in: e545490a user: drh tags: trunk)
2008-12-11
20:03
Previous change to the OP_ForceInt opcode did not work correctly when the input is a negative floating point value. This change is the fix. Ticket #3536. (CVS 6023) (check-in: f6c50f35 user: drh tags: trunk)
19:50
Make sure the OP_ForceInt vdbe opcode does not cause a rowid overflow. Ticket #3536. Tests to verify this change will be checked in separately. (CVS 6022) (check-in: 6a049c65 user: drh tags: trunk)
16:17
Guard against attacks from deliberately corrupted database files. (CVS 6021) (check-in: da2ec964 user: drh tags: trunk)
13:08
Increase the version number to 3.6.7. (CVS 6020) (check-in: 7c367515 user: drh tags: trunk)
13:05
Initialize a local variable so as to avoid a valgrind warning. (CVS 6019) (check-in: 0d316160 user: drh tags: trunk)
02:58
Removed a few more harmless warnings from MSVC. (CVS 6018) (check-in: 72fd92bd user: shane tags: trunk)
02:56
Fix the TCL test harness so that it compiles and runs on OSX with SQLITE_ENABLE_LOCKING_STYLE. (CVS 6017) (check-in: 561d5de1 user: drh tags: trunk)
02:20
Initialize the yyzerominor constant generated by lemon. (CVS 6016) (check-in: 76c8f6ba user: drh tags: trunk)
2008-12-10
23:04
More code obfuscation designed to thwart compiler warning messages. (CVS 6015) (check-in: 0a1888a7 user: drh tags: trunk)
22:32
Try to remove compiler warnings from vdbe.c. (CVS 6014) (check-in: 50352950 user: drh tags: trunk)
22:30
Work to remove harmless MSVC compiler warnings. (CVS 6013) (check-in: 715dcd52 user: shane tags: trunk)
22:18
The strlen30 function in tclsqlite.c should be defined regardless of whether or not the amalgamation is used. (CVS 6012) (check-in: d8e8c7e5 user: drh tags: trunk)
22:15
Fix an issue with the new sqlite3Strlen30() introduced by check-in (6007). Additional casts for compiler warnings. (CVS 6011) (check-in: 258722b6 user: drh tags: trunk)
21:19
Additional work at eliminating silly compiler warnings. (CVS 6010) (check-in: ea01d437 user: drh tags: trunk)
20:11
Fixed typo in comment in mkkeywordhash.c. (CVS 6009) (check-in: b7dd05b4 user: shane tags: trunk)
20:10
Added option (-l) to lemon parser to have it skip printing line numbers (#line ... ). (CVS 6008) (check-in: ccb9393a user: shane tags: trunk)
19:26
Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (check-in: c872d554 user: drh tags: trunk)
18:03
More explicit type casting to silence VC++. (CVS 6006) (check-in: 14e6d19c user: drh tags: trunk)
17:20
Remove or rename local variables that shadow other variables or parameters. (CVS 6005) (check-in: e7e9fa4f user: drh tags: trunk)
16:45
Add explicit casts to silence nuisance warnings from VC++. (CVS 6004) (check-in: da1cbfa7 user: drh tags: trunk)
11:49
Use memcpy() rather than "=" to copy a structure, in order to work around a bug in the XLC compiler on AIX. Ticket #3344. (CVS 6003) (check-in: 18bbcafc user: drh tags: trunk)
11:44
Remove some obsolete markup from sqlite.h.in. (CVS 6002) (check-in: d1d05e2a user: drh tags: trunk)
2008-12-09
14:46
Return an appropriate out-of-memory message when sqlite3_errmsg() is called following an SQLITE_NOMEM error. (CVS 6001) (check-in: 228ebe41 user: drh tags: trunk)
14:03
Finish incomplete edit of resolve.c from check-in (5998). (CVS 6000) (check-in: 0d7e150e user: drh tags: trunk)
13:12
Additional test cases for nested subqueries in a WHERE clause. (CVS 5999) (check-in: 4f10f19d user: drh tags: trunk)
13:04
A subquery in the result set of a SELECT should be able to look into outer queries to find variable references. But a subquery in the FROM clause should not be able to do this. Ticket #3530. (CVS 5998) (check-in: be03fa05 user: drh tags: trunk)
04:59
Removed some harmless compiler warnings and converted some "double" ops to "int" in date.c. (CVS 5997) (check-in: 5eb648a0 user: shane tags: trunk)
03:55
Get rid of more silly compiler warnings. (CVS 5996) (check-in: 59ae0020 user: drh tags: trunk)
02:51
Suppress more silly compiler warnings. (CVS 5995) (check-in: 1522c2c6 user: drh tags: trunk)
01:32
Fix compiler warnings in where.c and in the TCL test harness. (CVS 5994) (check-in: 680755db user: drh tags: trunk)
2008-12-08
21:37
Some minor name refactoring in where.c. Avoid declaring variables before initializing them in the amalgamation because VC++ doesn't like that. (CVS 5993) (check-in: 6ed696e7 user: drh tags: trunk)
18:27
Fix a bug in win32 command-line client introduced during efforts to reduce the number of harmless compiler warnings (check-in (5982).) (CVS 5992) (check-in: 6c0b2e75 user: drh tags: trunk)
18:19
The amalgamation now compiles cleanly on GCC with options -pedantic-errors -Wno-long-long. (CVS 5991) (check-in: 73c7302c user: drh tags: trunk)
16:01
Fix two unused-parameter warnings in the parser. (CVS 5990) (check-in: cf419d0b user: drh tags: trunk)
13:42
Fix a segfault associated with the column cache that occurs on nested VIEWs. Ticket #3527. (CVS 5989) (check-in: 490138a2 user: drh tags: trunk)
2008-12-06
16:46
Make sure a memory allocation error did not prevent UTF16 to UTF8 conversion prior to doing a string comparison. (CVS 5988) (check-in: 9d061e20 user: drh tags: trunk)
16:10
Make sure the KeyInfo object attached to a transient table used for sorting records the sqlite3 object used for memory allocation, so that memory allocation failures on UTF16 to UTF8 conversion can be recorded. (CVS 5987) (check-in: 76246d9f user: drh tags: trunk)
14:34
Mark the hash table enlargement in pcache1.c as a benign-failure malloc. (CVS 5986) (check-in: 5c0fe63a user: drh tags: trunk)
2008-12-05
23:40
Make the minimum allocate size for RowSet objects large enough to accommodate 8-byte pointers. (CVS 5985) (check-in: b74885e0 user: drh tags: trunk)
22:40
Fix integrity check so that it always reports memory allocation errors that it encounters. (CVS 5984) (check-in: 2a3f5ce1 user: drh tags: trunk)
20:01
Make sure the nOverflow flag in MemPage is reset to zero after every insert. (CVS 5983) (check-in: bfde3dae user: drh tags: trunk)
17:17
Fix harmless compiler warnings. Improved comments in the query optimizer. (CVS 5982) (check-in: adedd697 user: drh tags: trunk)
15:24
Make use of sqlite3DbMallocSize to maximize the size of growable buffers after each reallocation. Added new comments and testcase() macros to where.c. (CVS 5981) (check-in: 46f2d089 user: drh tags: trunk)
02:36
Variable name changes in the query optimizer for disambiguation and clarification. Clear space in boolean vectors for new bit values to encode new query plan templates. (CVS 5980) (check-in: 81bd0b5c user: drh tags: trunk)
00:00
Expand table.* properly on a USING or a NATURAL join. Ticket #3522. (CVS 5979) (check-in: 06d206ef user: drh tags: trunk)
2008-12-04
22:17
Fix a segfault that can occur in the RowSet object following a malloc failure. (CVS 5978) (check-in: cb0f1658 user: drh tags: trunk)
20:40
Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) (check-in: 39a0750b user: drh tags: trunk)
12:34
Make sure dot-lock is fully enabled when SQLITE_ENABLE_LOCKING_STYLE is disabled. Fix compiler warnings when SQLITE_ENABLE_LOCKING_STYLE is disabled. (CVS 5976) (check-in: 4697249f user: drh tags: trunk)
12:26
Fix a memory leak in the shell that occurs when a ".import" command fails. Ticket #3517 (CVS 5975) (check-in: cb9c1543 user: drh tags: trunk)
12:17
Always enable the OP_Blob opcode in the VDBE even when SQLITE_OMIT_BLOB_LITERAL is defined, since that opcode is used for other purposes as well. Ticket #3518. (CVS 5974) (check-in: 760333de user: drh tags: trunk)
2008-12-03
23:23
Allow the entire FROM clause of a SELECT statement to be in parentheses. (CVS 5973) (check-in: 72ebc8cb user: drh tags: trunk)
22:48
Fix a missing forward declaration that is needed when SQLITE_PREFER_PROXY_LOCKING is defined. (CVS 5972) (check-in: 24235300 user: drh tags: trunk)
22:32
Reorganize the proxy-locking method in os_unix.c. Additional cleanup. (CVS 5971) (check-in: 31f6090e user: drh tags: trunk)
21:26
Make os_unix compile with SQLITE_ENABLE_PROXY_LOCKING (CVS 5970) (check-in: 3efedac6 user: aswift tags: trunk)
19:34
Continue with the cleanup of os_unix.c. (CVS 5969) (check-in: 215d36ea user: drh tags: trunk)
2008-11-29
22:49
Fully initialize the unused bytes of the buffer that will become the journal file header, in order to silence a complaint from valgrind. (CVS 5968) (check-in: 2822cbb9 user: drh tags: trunk)
02:20
Continuing to refactor os_unix.c. This is an incremental check-in. (CVS 5967) (check-in: c13df031 user: drh tags: trunk)
00:56
Continuing work on the os_unix.c refactoring. Removed all of the LOCKING_STYLE_* constants and instead pass around pointers to the underlying sqlite3_io_method objects. (CVS 5966) (check-in: 1017d2fb user: drh tags: trunk)
2008-11-28
15:37
First step in refactoring os_unix.c. This is work in progress. The code compiles and runs on Linux and MacOSX (as long as SQLITE_ENABLE_LOCKING_STYLE is turned off), but there are a few test failures. (CVS 5965) (check-in: 7825cd63 user: drh tags: trunk)
2008-11-27
02:22
Add 19 new assert() statements in btree.c that attempt to detect writing to a cache page which is not writeable. (CVS 5964) (check-in: f9c73590 user: drh tags: trunk)
2008-11-26
20:09
expected error message has trailing space (CVS 5963) (check-in: 165bc2d7 user: pweilbacher tags: trunk)
20:03
remove warning in os2Sync() with SQLITE_NO_SYNC set (CVS 5962) (check-in: 68a51f67 user: pweilbacher tags: trunk)
19:56
make os2Randomness() act the same as other platforms with SQLITE_TEST (all zeroed buffer) (CVS 5961) (check-in: 5d189df3 user: pweilbacher tags: trunk)
18:01
Version 3.6.6.2 (CVS 5960) (Leaf check-in: 30a20807 user: drh tags: branch_3_6_6)
17:52
Version number to 3.6.6.2. (CVS 5959) (check-in: 7e010be8 user: drh tags: branch_3_6_6)
14:55
Port check-ins (5955) and (5956) into the 3.6.6 branch. (CVS 5958) (check-in: 8c0edbef user: drh tags: branch_3_6_6)
13:44
Fix the test condition for the test cases added to prevent regressions of ticket #3508. (CVS 5957) (check-in: 4e94aa3b user: drh tags: trunk)
07:40
Fix an obscure memory leak that can follow an IO error. (CVS 5956) (check-in: 8271229c user: danielk1977 tags: trunk)
07:25
Fix a couple of assert() failures provoked by running with a small default cache-size (64 pages). (CVS 5955) (check-in: 1a66481a user: danielk1977 tags: trunk)
2008-11-25
12:07
Move the definition of function transferOwnership() in os_unix.c to below the static functions it calls. (CVS 5954) (check-in: 622cb597 user: danielk1977 tags: trunk)
2008-11-24
20:05
Added cast to PAGE_TO_PGHDR1 macro to remove warning. It looks like despite the warning, the compiler (tested with VS2005 and GCC on Windows) was doing the right thing. Ticket #3510. (CVS 5953) (check-in: e93cec0a user: shane tags: trunk)
20:01
Fixed some spelling errors in sqliteInt.h. Ticket #3509. (CVS 5952) (check-in: 7e134a5c user: shane tags: trunk)
15:32
Added test case to in4.test to try and duplicate crash reported on the mailing list. (CVS 5951) (check-in: 8502fba3 user: shane tags: trunk)
2008-11-22
19:50
fix the compile warnings on OS/2 (CVS 5950) (check-in: b7d0ec83 user: pweilbacher tags: trunk)
18:28
Make sure the error message handler is able to deal with NULL expression spans. Ticket #3508. (CVS 5949) (check-in: ce36b647 user: drh tags: trunk)
15:51
Version 3.6.6.1 (CVS 5948) (check-in: c2266aa0 user: drh tags: branch_3_6_6)
14:07
Port the corruption bug fix of check-in (5938) into a branch off of version 3.6.6. (CVS 5947) (check-in: 15d88edf user: drh tags: branch_3_6_6)
2008-11-21
23:35
Fix testfixture linking problem by marking unix-only symbol as such. (CVS 5944) (check-in: 2ca8b822 user: pweilbacher tags: trunk)
22:21
Factor out and simplify the canonical pathname logic in the VxWorks OS interface. (CVS 5943) (check-in: adb0aafa user: drh tags: trunk)
20:32
Work toward cleaning up and refactoring the os_unix.c VFS module. Change IS_VXWORKS to OS_VXWORKS. The VxWorks implementation can now be built and tested on Linux using -DOS_VXWORKS=1 -Dsem_t=int -DPATH_MAX=512 -DNO_GETTOD=1. (CVS 5942) (check-in: 30a0132a user: drh tags: trunk)
16:58
Fix the OOM handling for explain statements so that it is the same as for regular statements if the OOM error occurs from within a call to sqlite3_column_text() or text16(). (CVS 5941) (check-in: 891b14e1 user: danielk1977 tags: trunk)
16:22
Fix a segfault that can be caused by an INSTEAD OF trigger on a view that includes an expression of the form "table.column" in the select list. (CVS 5940) (check-in: 88a09dbb user: danielk1977 tags: trunk)
09:43
Fix an assert() failure that can occur after an OOM error. (CVS 5939) (check-in: 4c765758 user: danielk1977 tags: trunk)
09:09
Fix the problems demonstrated in tkt35xx.test in a different way to (5936). (CVS 5938) (check-in: ddf980a5 user: danielk1977 tags: trunk)
08:50
Add another test case to tkt35xx.test showing that a statement rollback can also trigger the problem. (CVS 5937) (check-in: 74c08b8d user: danielk1977 tags: trunk)
03:23
On a ROLLBACK, if there page cache entries which are dirty but not in the rollback journal, make sure they get reinitialized in the btree layer. (CVS 5936) (check-in: faded96f user: drh tags: trunk)
00:24
Fixes to the proxy locking so that os_unix.c compiles on linux with proxy locking omitted. (CVS 5935) (check-in: 6f910b70 user: drh tags: trunk)
00:10
Added support for proxy file locking style Added pragma support for controlling proxy file locking Added file control access to last errno and proxy locking Added support for TMPDIR environment variable Extended unit tests to cover new proxy locking pragmas and file control features (CVS 5934) (check-in: b9bc36d3 user: aswift tags: trunk)
2008-11-20
18:20
When a memory allocation fails on the %Q conversion in sqlite3_mprintf(), make sure the error is reported back up the call stack. (CVS 5933) (check-in: eebacbc9 user: drh tags: trunk)
2008-11-19
21:35
In os_win.c, if SQLITE_TEST defined, winRandomness() should return all zeroes like os_unix.c. (CVS 5932) (check-in: 00b68a1e user: shane tags: trunk)
21:03
Version 3.6.6 (CVS 5931) (check-in: 01a6e282 user: drh tags: trunk, release)
18:43
Force the corruptC.test script to use file format 1. (CVS 5930) (check-in: deadc254 user: drh tags: trunk)
18:30
In bitvec.c: removed some of the recursion, minor optimizations, added comments, improved consistency. (CVS 5929) (check-in: 54d714fb user: shane tags: trunk)
18:30
Update the SECURE_DELETE code to track the latest changes in the pager. (CVS 5928) (check-in: e058f509 user: drh tags: trunk)
16:52
Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927) (check-in: d1abe8a1 user: danielk1977 tags: trunk)
14:35
Fix a few more compiler warnings. (CVS 5926) (check-in: 70b2f683 user: danielk1977 tags: trunk)
13:52
In os_unix.c, use "IS_VXWORKS" instead of "defined(__RTP__) || defined(_WRS_KERNEL)". Purely because it's easier on the eyes. (CVS 5925) (check-in: 92c91a6c user: danielk1977 tags: trunk)
12:43
Version number to 3.6.6. (CVS 5924) (check-in: 8cc120fb user: drh tags: trunk)
11:35
Eliminate some of the "unused parameter" warnings in os_unix.c. (CVS 5923) (check-in: 2f5aaad9 user: danielk1977 tags: trunk)
10:22
Simplify the way the pager layer invokes the busy-handler callback. (CVS 5922) (check-in: 7bd1ac18 user: danielk1977 tags: trunk)
09:05
Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: 88134322 user: danielk1977 tags: trunk)
01:20
Add an alternative application-defined pcache implementation and add test cases to permutations.test to invoke it. Added the SQLITE_CONFIG_GETPCACHE method to sqlite3_config(). (CVS 5920) (check-in: 16f1e6ec user: drh tags: trunk)
2008-11-18
23:25
Fix to the lemon parser template when YYSTACKSIZE is 0 (dynamically allocated stack space). (CVS 5919) (check-in: 00ccc596 user: drh tags: trunk)
23:03
Add support for SQLITE_NO_SYNC for OS/2, too. (CVS 5918) (check-in: 2990b5b8 user: pweilbacher tags: trunk)
19:18
Expose the MBCS->UTF8 convert routine in the Win32 backend. (CVS 5917) (check-in: f4411f0c user: drh tags: trunk)
19:18
Application-defined page cache documentation updates. (CVS 5916) (check-in: db0f1203 user: drh tags: trunk)
07:27
Reduce the number of "missing initializer" warnings. (CVS 5915) (check-in: d68e2795 user: danielk1977 tags: trunk)
2008-11-17
19:18
Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: 8009220c user: danielk1977 tags: trunk)
16:42
Modifications to avoid unsigned/signed comparisons in where.c. (CVS 5913) (check-in: f35606d1 user: danielk1977 tags: trunk)
15:31
Modifications to avoid signed/unsigned warnings in vdbe.c. (CVS 5912) (check-in: 9939dd83 user: danielk1977 tags: trunk)
14:20
Changes to btree.c to avoid the unsigned/signed comparison warnings. (CVS 5911) (check-in: 24469dba user: danielk1977 tags: trunk)
08:05
Added support for vxworks >= 6.4; RTP mode tested, kernel mode untested. (CVS 5910) (check-in: f45a1493 user: chw tags: trunk)
04:56
Modifications to pager.c to avoid the unsigned/signed warnings. (CVS 5909) (check-in: cb6be84d user: danielk1977 tags: trunk)
2008-11-15
11:22
Fix compiler warnings in pcache1.c related to comparison of unsigned and signed values. (CVS 5908) (check-in: ce77ea98 user: danielk1977 tags: trunk)
04:54
Add a line to genfkey.README showing how to link against a shared library. Ticket #3502. (CVS 5907) (check-in: 800274b7 user: danielk1977 tags: trunk)
2008-11-13
19:12
Fix a couple of memory leaks that may follow malloc failures. (CVS 5906) (check-in: 4cf8a8e1 user: danielk1977 tags: trunk)
18:29
Fixed several more crashes due to corrupt db files. Added corruptC.test to soak.test. (CVS 5905) (check-in: 9b7a52e9 user: shane tags: trunk)
18:20
Added support for -DSQLITE_NO_SYNC to os_win.c. (CVS 5904) (check-in: 26493379 user: shane tags: trunk)
18:02
Fixed typo in tkt3472.test that prevented the test from running. (CVS 5903) (check-in: 428a5479 user: shane tags: trunk)
18:00
Avoid committing a transaction from within the xSync() method of a virtual table. Fix for #3497. (CVS 5902) (check-in: eabb8b75 user: danielk1977 tags: trunk)
16:21
Minor changes to get memsys5 compiling and its tests passing. Ticket #3495. (CVS 5901) (check-in: 96453ca1 user: danielk1977 tags: trunk)
14:42
Update mksqlite3c.tcl to include new file pcache1.c. (CVS 5900) (check-in: 00442e0f user: danielk1977 tags: trunk)
14:28
Add an API to support custom page cache implementations. (CVS 5899) (check-in: 47866d67 user: danielk1977 tags: trunk)
2008-11-12
18:21
Avoid some buffer overreads detected by valgrind while running corruptC.test. (CVS 5898) (check-in: faa6bd7b user: danielk1977 tags: trunk)
15:38
Version 3.6.5 (CVS 5897) (check-in: 369f7498 user: drh tags: trunk, release)
15:24
Do not redefine the MIN and MAX macros if they are already defined. (CVS 5896) (check-in: f41dd205 user: drh tags: trunk)
14:22
In corruptC.test, explicitly set "PRAGMA auto_vacuum = 0". (CVS 5895) (check-in: b6563af8 user: danielk1977 tags: trunk)
14:21
Update the version number to 3.6.5. (CVS 5894) (check-in: f150b870 user: drh tags: trunk)
14:07
Omit the threadOverrideEachOthersLocks tests for builds that non-unix or non-threadsafe. (CVS 5893) (check-in: ab418656 user: drh tags: trunk)
12:27
Fix a faulty assert in select.c. Ticket #3494. (CVS 5892) (check-in: e89f9c80 user: drh tags: trunk)
11:57
Modify a failing test case in corruptC.test. The test case was failing only because the integrity_check was returning a slightly different error message than expected. (CVS 5891) (check-in: 0953f300 user: danielk1977 tags: trunk)
08:49
Fix a database corruption related crash uncovered by corruptC.test. (CVS 5890) (check-in: 395084ac user: danielk1977 tags: trunk)
08:07
Make sure affinities and implicit collation sequences are correctly used by comparison expressions in the select-list or having clause of an aggregate query. Ticket #3493. (CVS 5889) (check-in: b8ceaa00 user: danielk1977 tags: trunk)
04:55
Fixed a few more crashes when dealing with corrupt db files. (CVS 5888) (check-in: f8bb34e4 user: shane tags: trunk)
2008-11-11
22:18
Fixed crash during an UPDATE when free cell size is corrupt. (CVS 5887) (check-in: ec18667e user: shane tags: trunk)
20:51
Prevent a crash during an UPDATE when the cell offset is corrupt. (CVS 5886) (check-in: 99d4172e user: shane tags: trunk)
18:55
Send the "Incomplete SQL" error message of the CLI to stderr instead of stdout. Ticket #3476. (CVS 5885) (check-in: dacae200 user: drh tags: trunk)
18:43
Remove some asserts that refer to variables removed in (5830). (CVS 5884) (check-in: 9d880a6f user: danielk1977 tags: trunk)
18:34
Change the way threadsOverrideEachOthersLocks() works to avoid trying to write-lock a (potentially) read-only files. Also, assume that on non-linux systems threads do override each others locks. Ticket #3472. (CVS 5883) (check-in: 8ecae094 user: danielk1977 tags: trunk)
18:28
Cleanup in flattenSubquery. Add OOM tests for flattenSubquery. Fix issues with OOM errors causes problems for flattenSubquery. Ticket #3485. (CVS 5882) (check-in: ea5f4baa user: drh tags: trunk)
17:36
Fixed crash in integrity_check with corrupt content offset size in page header. (CVS 5881) (check-in: 0659a666 user: shane tags: trunk)
15:48
Avoid signed/unsigned comparison warnings in bitvec.c by changing the types of loop variables to unsigned int. (CVS 5880) (check-in: da869446 user: drh tags: trunk)
00:36
When an assignment occurs in a boolean, always test the result using "!=0" to avoid confusion and make it clear that assignment is intended, not an equality test. Ticket #3491. (CVS 5879) (check-in: 89ee5295 user: drh tags: trunk)
00:30
Fix the CLI so that it does not terminate input when an Oracle or MS-SQL command terminator mark is seen in the middle of a string literal. Ticket #3490. (CVS 5878) (check-in: 68662e3b user: drh tags: trunk)
00:21
When an OOM error occurs while resizing an sqlite_value object, make sure the value of the object is set to NULL. Ticket #3488. (CVS 5877) (check-in: 7b9c9b35 user: drh tags: trunk)
2008-11-10
23:54
Fix the documentation of the SQLITE_FUNCTION authorizer code so that it agrees with how SQLite has always behaved. Ticket #3489. (CVS 5876) (check-in: 806b6ed2 user: drh tags: trunk)
20:01
#ifdef out unused static function mutexIsNT(). Ticket #3481. (CVS 5875) (check-in: 23918680 user: shane tags: trunk)
19:24
Updated comment in source. Ticket #3453. (CVS 5874) (check-in: 83caa220 user: shane tags: trunk)
18:20
Add check for ifcapable autovacuum to vacuum2-3.3 test. Ticket #3435. (CVS 5873) (check-in: fc36f2fc user: shane tags: trunk)
18:05
Removed a few more small parts of memsys6 code, including some config and test code for it; (CVS 5872) (check-in: a11241d6 user: shane tags: trunk)
17:14
In btree.c, omit calls to setChildPtrmaps() if SQLITE_OMIT_AUTOVACUUM is defined. Ticket #3439. (CVS 5871) (check-in: e0f07323 user: shane tags: trunk)
17:08
Fixed typos; Consistent use of Mac OS X name; (CVS 5870) (check-in: dfc94743 user: shane tags: trunk)
2008-11-07
03:29
Prevent buffer overruns when converting malformed UTF16 to UTF8. Ticket #3482. (CVS 5869) (check-in: 3f657e88 user: drh tags: trunk)
00:24
Prevent a rollback from crashing if the sector-size field of the rollback journal is corrupted. (CVS 5868) (check-in: cf9d1d93 user: drh tags: trunk)
00:06
Add documentation to make it clear that short reads from xRead in the VFS must be zero-filled. (CVS 5867) (check-in: fb311d6f user: drh tags: trunk)
2008-11-06
15:33
Fix a bug in the CAST operator associated with the column cache. (CVS 5866) (check-in: 1b6a5140 user: drh tags: trunk)
2008-11-05
17:41
Fix memory allocation problems when string length exceeds limits. (CVS 5865) (check-in: b568e325 user: drh tags: trunk)
16:37
The COMMIT command now works even if there are pending queries, as long as the pending queries are reading and not writing the database. (CVS 5864) (check-in: 51f04aaf user: drh tags: trunk)
2008-11-04
21:51
Should be 'memjournal.lo' instead of 'memjournal.o'. Ticket #3480. (CVS 5863) (check-in: 8b868604 user: shane tags: trunk)
14:55
Add test cases for sqlite3_db_mutex(). (CVS 5862) (check-in: f818e8e5 user: danielk1977 tags: trunk)
14:48
Enhance documentation of sqlite3_db_mutex(). (CVS 5861) (check-in: 3aed410a user: drh tags: trunk)
14:25
Avoid a segfault when OOM on a simple EXPLAIN query. Ticket #3478. (CVS 5860) (check-in: acf26cc0 user: drh tags: trunk)
13:46
Add the sqlite3_db_mutex() interface. No test cases yet. (CVS 5859) (check-in: d95de32e user: drh tags: trunk)
2008-11-03
21:40
Test cases to verify that COMMIT and ROLLBACK return SQLITE_BUSY when there are active statements. (CVS 5858) (check-in: cedfa214 user: drh tags: trunk)
20:55
Change the name of the Cursor object to VdbeCursor. (CVS 5857) (check-in: fdb98fd8 user: drh tags: trunk)
09:39
Modify an assert() statement to fix #3473. No other code changes. (CVS 5856) (check-in: aca6b260 user: danielk1977 tags: trunk)
09:06
Fix a bug reported on the mailing list triggered by the pattern "SELECT
2008-10-31
13:57
Test that single byte corruptions in increasingly larger quantities are handled gracefully. (CVS 5854) (check-in: c73d9159 user: shane tags: trunk)
10:53
Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853) (check-in: bfce9142 user: danielk1977 tags: trunk)
2008-10-30
22:13
Fix a faulty assert() in the merge implementation of the UNION operator. Ticket #3467. (CVS 5852) (check-in: cd1662e9 user: drh tags: trunk)
17:21
Fix a crash that can follow a malloc failure in sqlite3ValueFromExpr(). Ticket #3468. (CVS 5851) (check-in: 0996783b user: danielk1977 tags: trunk)
15:03
Add the sqlite3_extended_errcode() interface. Change to return SQLITE_BUSY instead of SQLITE_ERROR when a COMMIT is attempted and one or more queries are still pending. (CVS 5850) (check-in: 4c6a90a1 user: drh tags: trunk)
2008-10-29
07:01
If a hot-journal file is detected but the application does not have the required read/write permissions, return SQLITE_CANTOPEN. Prior to this change, SQLITE_BUSY was returned. Ticket #3457. (CVS 5849) (check-in: dc5308c7 user: danielk1977 tags: trunk)
2008-10-28
18:58
Remove the vestigial mem4 and mem6 memory allocators. Add the SQLITE_ZERO_MALLOC compile-time option and the mem0.c module to handle memory allocation for that case. (CVS 5848) (check-in: 4651f590 user: drh tags: trunk)
18:12
Add data structure description comments to memjournal.c. (CVS 5847) (check-in: e9c2adbc user: drh tags: trunk)
17:52
Avoid exposing internal interfaces sqlite_attach() and sqlite_detach() as SQL scalar functions. Ticket #3466. (CVS 5846) (check-in: 679c0b35 user: danielk1977 tags: trunk)
2008-10-27
15:34
If an SQLITE_DELETE authorization callback returns SQLITE_IGNORE, proceed with the delete operation but disable the truncate optimization. (CVS 5845) (check-in: 65a2e131 user: danielk1977 tags: trunk)
13:59
Make sqlite3_count_changes() and total_changes() work with "DELETE FROM ". (CVS 5844)
(check-in: e68e4282 user: danielk1977 tags: trunk)
08:24
Remove some if() conditions that are always true from delete.c. (CVS 5843) (check-in: 297ad90d user: danielk1977 tags: trunk)
2008-10-25
17:10
Remove unused parameter from function rtreeInit() (part of the r-tree extension). (CVS 5842) (check-in: 3224ea59 user: danielk1977 tags: trunk)
15:03
Disable the result-set alias cache when on conditional code branches. Ticket #3461. The column cache and result set alias cache mechanisms are prone to this kind of error and need to be refactored. This check-in should be considered a temporary fix in advance of a more general redesign of the whole mechanism. (CVS 5841) (check-in: 1fa3bbd8 user: drh tags: trunk)
09:35
Add file tkt3461.test with a few examples of bug #3461. Because these tests currently fail they are disabled for now. (CVS 5840) (check-in: f2cc1591 user: danielk1977 tags: trunk)
2008-10-23
05:45
Fix a bug in pragma table_info. Column default values specified as negative numbers (col DEFAULT -1) were being reported as NULL by the pragma. (CVS 5839) (check-in: 0e448bc6 user: danielk1977 tags: trunk)
2008-10-22
18:27
Updated configure/makefiles to handle SQLITE_ENABLE* compile options. Made sure makefile passes command line options (OPTS=-Dfoo) to the compiler. Add -DSQLITE_COVERAGE_TEST=1 if gcov being used. (CVS 5838) (check-in: acb106e5 user: shane tags: trunk)
16:55
Removed some more dead code and fixed some unresolved externals for WINCE. Ticket #3420. (CVS 5837) (check-in: 5276e31d user: shane tags: trunk)
16:26
Make sure variable declarations occur first in code blocks. (CVS 5836) (check-in: b78f44c9 user: shane tags: trunk)
16:04
Test cases for ticket #3442. (CVS 5835) (check-in: a8bb5acf user: shane tags: trunk)
10:45
Fix an assert() failure that can occur following a malloc() failure. Ticket #3455. (CVS 5834) (check-in: e0d3aa75 user: danielk1977 tags: trunk)
2008-10-21
04:30
Update the autoconf build system to include memjournal.c. (CVS 5833) (check-in: a3c810f0 user: danielk1977 tags: trunk)
2008-10-19
21:03
When a name in double quotes falls back to being a string literal, make sure it has no affinity. Ticket #3442. (CVS 5832) (check-in: 81cfee5c user: drh tags: trunk)
2008-10-17
19:13
Add the memjournal.c file that should have been with the previous checkin. (CVS 5831) (check-in: 0509eff0 user: danielk1977 tags: trunk)
18:51
Add "pragma journal_mode=memory". Change the way rollback works for in-memory databases so that it reuses the journal_mode=memory code. (CVS 5830) (check-in: 39ebf01a user: danielk1977 tags: trunk)
15:10
Fix a typo in documentation. Ticket #3447. (CVS 5829) (check-in: 5ce2ddff user: drh tags: trunk)
2008-10-16
13:27
Fix an error in (5826). (CVS 5828) (check-in: 8065a92f user: danielk1977 tags: trunk)
2008-10-15
19:03
Fix a naming problem when SQLITE_MUTEX_NOOP is used. (CVS 5827) (check-in: 35ce71c6 user: drh tags: trunk)
16:02
Do not open and sync the directory in unixDelete() if the SQLITE_DISABLE_DIRSYNC option is defined. (CVS 5826) (check-in: 8ef14164 user: danielk1977 tags: trunk)
11:59
Version 3.6.4 (CVS 5825) (check-in: cd73cffa user: drh tags: trunk, release)
11:43
After running speed1.test and speed1p.test, reset the size of the lookaside buffer. Otherwise, subsequent runs of malloc5.test may report an error. Changes to test code only. (CVS 5824) (check-in: 9283478e user: danielk1977 tags: trunk)
2008-10-14
19:21
Disable the page-cache at the end of pcache2.test. (CVS 5823) (check-in: 3d2d05b6 user: danielk1977 tags: trunk)
18:21
Fix the amalgamation generator to recognize indented #include directives. Ticket #3438. (CVS 5822) (check-in: 494510d8 user: drh tags: trunk)
17:58
Fix the xRandomness() method on the unix VFS to return the number of bytes of randomness obtained. (CVS 5821) (check-in: b7687e2f user: drh tags: trunk)
15:54
Make sure malloc3.test runs even if a CREATE TABLE transaction commits prior to the last OOM error. (CVS 5820) (check-in: 603c40e5 user: drh tags: trunk)
14:56
Update main.mk so that a couple of fts3 files are compiled with SQLITE_TEST when building testfixture. (CVS 5819) (check-in: 8eb315ee user: danielk1977 tags: trunk)
14:28
Modifications to main.mk so that -DSQLITE_ENABLE_FTS3 works. (CVS 5818) (check-in: a06d226d user: danielk1977 tags: trunk)
2008-10-13
21:46
fix a few return codes in the OS/2 VFS (CVS 5817) (check-in: 4e978a40 user: pweilbacher tags: trunk)
17:09
Get the load extension tests working on amd64. Needed for test coverage. (CVS 5816) (check-in: 119b69fb user: drh tags: trunk)
15:35
Fix the SQLITE_OMIT_DATETIME_FUNCS compile-time option so that it builds successfully. (CVS 5815) (check-in: c3f91645 user: drh tags: trunk)
14:16
In rollback.test, do not check for journal deletion if the journal mode is not DELETE. Call show_memstats after each test module in all.test and quick.test. (CVS 5814) (check-in: df2c28dc user: drh tags: trunk)
10:56
Use one less temporary table in genfkey.c. The retired table was being used to workaround the bug fixed by (5812). (CVS 5813) (check-in: 73efca98 user: danielk1977 tags: trunk)
10:37
If sqlite3_column_value() is called to obtain a value with the MEM_Static flag set, clear it and set the MEM_Ephem flag before returning. Otherwise, if the value is passed to sqlite3_bind_value() or sqlite3_result_value(), sqlite may attempt to use the buffer after the statement has been finalized. This is not always valid, as MEM_Static only guarantees that a MEM.z buffer will be valid for the lifetime of the owner statement, not that it is actually a static buffer. (CVS 5812) (check-in: b055bfc4 user: danielk1977 tags: trunk)
2008-10-12
02:27
Check for failures in winTruncate. Ticket #3415. (CVS 5811) (check-in: 500c5056 user: shane tags: trunk)
02:03
Added -DSQLITE_ENABLE_RTREE=1 to the mkdll.sh script. Ticket #3427. (CVS 5810) (check-in: 66f57ecb user: shane tags: trunk)
01:49
Add gcov compile options to link line when GCOV option enabled. (CVS 5809) (check-in: 3ddda111 user: shane tags: trunk)
00:27
Added SQLITE_OMIT_DEPRECATED compile time option to leave out deprecated functions. Updated test scripts to skip tests of deprecated functions if they are compiled out. (CVS 5808) (check-in: ba3711ac user: shane tags: trunk)
2008-10-11
18:11
Add macros tests so that the compiler always recognizes that x86_64 is little endian. (CVS 5807) (check-in: b201e709 user: drh tags: trunk)
17:51
When transfering an error message from a statement handle to the database handle so that it can be accessed by sqlite3_errmsg(), a malloc may fail. If this malloc fails, it is considered benign. (CVS 5806) (check-in: 311003af user: danielk1977 tags: trunk)
17:42
Conditionally omit prototypes in pcache.h when the corresponding routines are not used. Ticket #3430. (CVS 5805) (check-in: 977ae12c user: drh tags: trunk)
17:35
Fix to sqlite3DbMallocRaw() when SQLITE_OMIT_LOOKASIDE is defined so that once it fails it continues to fail. Add a comment explaining why this is important. (CVS 5804) (check-in: 63dd8be7 user: drh tags: trunk)
17:06
Fix a OOM segfault in the BETWEEN operator parsing - discovered while using SQLITE_OMIT_LOOKASIDE. Add SQLITE_OMIT_LOOKASIDE to test_config.c and bypass lookaside.test when defined. (CVS 5803) (check-in: 2a21d52c user: drh tags: trunk)
17:04
Add "nolookaside" case to permutations.test. (CVS 5802) (check-in: 56fb7a22 user: danielk1977 tags: trunk)
16:47
Fix a memory leak on ORDER BY of a compound select caused by the resolver on a flattened query. Also fix a OOM segfault in WHERE clause processing. (CVS 5801) (check-in: d2c252d6 user: drh tags: trunk)
15:38
Added an assert() to detect lookaside memory leaks. Also added the SQLITE_OMIT_LOOKASIDE compile-time option which is useful in trying to track down lookaside memory leaks. (CVS 5800) (check-in: 0c4c6607 user: drh tags: trunk)
15:20
Fix an assertion fault that occurs with SQLITE_THREADSAFE=0. (CVS 5799) (check-in: 28bba42b user: drh tags: trunk)
2008-10-10
23:48
Add the SQLITE_OMIT_TRUNCATE_OPTIMIZATION option. Other unrelated documentation enhancements. (CVS 5798) (check-in: fab4940d user: drh tags: trunk)
18:25
Further simplifications of the code for the LIMIT clause on an UPDATE or DELETE. Added a few test cases to wherelimit.test. (CVS 5797) (check-in: 282c6a46 user: shane tags: trunk)
17:58
Add the genfkey program to the tool/ directory. (CVS 5796) (check-in: 84e73fe8 user: danielk1977 tags: trunk)
17:47
Change 'pragma foreign_key_list' to return some extra information. (CVS 5795) (check-in: 3bb33cf5 user: danielk1977 tags: trunk)
17:41
Simplify the symbol hash table to use only a single key class. Other changes to improve code coverage. (CVS 5794) (check-in: ff50a8a7 user: drh tags: trunk)
17:26
Documentation updates. No changes to code. (CVS 5793) (check-in: 07b5f703 user: drh tags: trunk)
14:27
Simplify the parser reduction code for the LIMIT clause on an UPDATE or DELETE. (CVS 5792) (check-in: 3de17963 user: drh tags: trunk)
13:35
Re-factored memory allocation failure handling in the sqlite3LimitWhere() function based on failures in the mallocJ.test script. (CVS 5791) (check-in: 43507bbe user: shane tags: trunk)
13:34
Added mallocJ.test to test allocation failure handling of the new LIMIT/OFFSET support for UPDATE/DELETE. (CVS 5790) (check-in: 5375b348 user: shane tags: trunk)
06:02
Initial test cases for the new LIMIT/OFFSET support for DELETE/UPDATE. (CVS 5789) (check-in: d9f5e15c user: shane tags: trunk)
04:34
Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788) (check-in: c10e8a3c user: shane tags: trunk)
2008-10-09
18:48
Fix an assert() failure that can occur if the user attempts to set an into an integer primary key column to a text value in a table that has a BEFORE UPDATE trigger. (CVS 5787) (check-in: c2cf9d60 user: danielk1977 tags: trunk)
17:57
New speed testing tools. (CVS 5786) (check-in: 2d427746 user: drh tags: trunk)
15:56
Add a test to verify the sqlite3_column_name() interface returns the correct value when the query is of the form: "SELECT rowid,* FROM...". Ticket #3429. (CVS 5785) (check-in: e90d5a55 user: drh tags: trunk)
15:56
Update the version number to 3.6.4. (CVS 5784) (check-in: 4b973ac9 user: drh tags: trunk)
14:45
Minor cleanup of the new "status" command on the TCL bindings. (CVS 5783) (check-in: ec01bd72 user: drh tags: trunk)
2008-10-08
17:58
After an OP_NullRow is executed on a cursor, cause any subsequent OP_Next or OP_Prev to behave as if there were no more rows to traverse. Ticket #3424. (CVS 5782) (check-in: af679f61 user: danielk1977 tags: trunk)
2008-10-07
23:46
Add the experimental sqlite3_stmt_status() interface. (CVS 5781) (check-in: de473efb user: drh tags: trunk)
19:53
Raise the hard upper bound on SQLITE_MAX_FUNCTION_ARG to 1000 from 100. The default upper bound is still 100, but it can now be raised as high as 1000 at compile-time. (CVS 5780) (check-in: 79df72ee user: drh tags: trunk)
15:25
Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0 option always removes all mutex code. For application-defined mutexes only, use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1. Ticket #3421. (CVS 5779) (check-in: 02a12eb1 user: drh tags: trunk)
15:00
Fix a recently introduced test script bug causing rollback.test to throw an exception when run using the "onefile" variation. (CVS 5778) (check-in: 7d55ec37 user: danielk1977 tags: trunk)
14:06
Have sqlite3_bind_value() call sqlite3ApiExit() before returning. Otherwise the db->mallocFailed flag may not be cleared. (CVS 5777) (check-in: 6b7c8d56 user: danielk1977 tags: trunk)
12:32
Do not use double unnecessarily in date+time functions. Ticket #3422. (CVS 5776) (check-in: b0323132 user: drh tags: trunk)
11:51
Fix a problem with hot-journal rollback. SQLITE_CANTOPEN was being returned if the hot-journal file contained a pointer to a master journal file that did not exist. (CVS 5775) (check-in: 22d1feb9 user: danielk1977 tags: trunk)
05:27
Initial support for LIMIT clause on DELETEs and UPDATEs. Changes likely with more testing. The code can be omitted with the define SQLITE_OMIT_UPDATE_DELETE_LIMIT. (CVS 5774) (check-in: 9c8b132e user: shane tags: trunk)
01:18
Removed redundant assert(). (CVS 5773) (check-in: 486b1124 user: shane tags: trunk)
2008-10-06
16:18
Allow INDEXED BY and NOT INDEXED to be used in UPDATE and DELETE statements. (CVS 5772) (check-in: 83a7e446 user: danielk1977 tags: trunk)
15:31
Add a test script to verify that ticket #3419 stays fixed. (CVS 5771) (check-in: c3cf54a1 user: drh tags: trunk)
15:18
Fix a typo in check-in (5769) (CVS 5770) (check-in: 24891902 user: drh tags: trunk)
13:54
Expression nodes of type TK_ROW mean the rowid of the first table in the source list. (CVS 5769) (check-in: 2f7db6c9 user: drh tags: trunk)
12:46
In sqlite3_bind() interfaces, avoid acquiring the mutex until after the statement handle has been validated. Ticket #3418. (CVS 5768) (check-in: 693503e2 user: drh tags: trunk)
11:29
Add a test to indexedby.test to check that automatic indexes (sqlite_autoindex_xxx) can be used with the INDEXED BY syntax. (CVS 5767) (check-in: bb51c345 user: danielk1977 tags: trunk)
05:32
Allow INDEXED BY and NOT INDEXED clauses in SELECT statements. (CVS 5766) (check-in: 98ca5580 user: danielk1977 tags: trunk)
2008-10-03
09:10
Modifications to bind.test to account for different values of SQLITE_MAX_VARIABLE_NUMBER. Ticket #3409. (CVS 5765) (check-in: 1a91f3fd user: danielk1977 tags: trunk)
08:44
Change one of the test cases in incrblob2.test to avoid allocating a 10MB block of heap memory. (CVS 5764) (check-in: 83b7dd73 user: danielk1977 tags: trunk)
2008-10-02
16:42
Change to reduce the number of OP_Null opcodes in "WHERE <rowid> IN (x,y,z)" queries. (CVS 5763) (check-in: 33b59a3d user: danielk1977 tags: trunk)
14:49
Fix for sqlite3_blob_write(): If either 3rd or 4th argument is less than zero, return SQLITE_ERROR. H17879. (CVS 5762) (check-in: f6074c0b user: danielk1977 tags: trunk)
14:33
Fix a typo that prevents the sqlite3_sql() interface from appearing in the official documentation. (CVS 5761) (check-in: b46814b2 user: drh tags: trunk)
13:50
Optimize queries that contain "WHERE rowid IN (x, y, z...)" by using an intkey btree to store the (x, y, z...) set instead of an index btree. (CVS 5760) (check-in: 803a1736 user: danielk1977 tags: trunk)
2008-10-01
13:55
Adjust the memory usage bounds on the memsubsys1.test script so that it works on amd64. (CVS 5759) (check-in: aabde23f user: drh tags: trunk)
08:43
Fix a bug in where.c where a non-temp register was being incorrectly deallocated. Ticket #3408. (CVS 5758) (check-in: 59d2e89e user: danielk1977 tags: trunk)
2008-09-30
17:18
Add some testcase() and assert() macros to btree.c to aid with testing recent changes. (CVS 5757) (check-in: fb461b78 user: drh tags: trunk)
16:48
Fix a comment in btree.c. No code changes. (CVS 5756) (check-in: 0f3c5633 user: danielk1977 tags: trunk)
14:06
Change leading tabs into spaces. (CVS 5755) (check-in: 4e536463 user: drh tags: trunk)
09:31
Fix a recently introduced problem with deleting entries from index tables. (CVS 5754) (check-in: 83c064ca user: danielk1977 tags: trunk)
04:20
Misc clean up. Wrapped a CE only variable in if-defs. Changed to only provide cache hint for CE builds (as this prevents CE from compressing the file.) Performance testing on XP and Vista showed caching hint had little effect when the DB size was much smaller than the O/S disk cache size, and provided only marginal benefit when the DB size was much larger than the cache. On Vista, overall system performance was hurt for very large DBs. Ticket #3387. (CVS 5753) (check-in: 15dd0169 user: shane tags: trunk)
00:31
A few minor changes to test scripts so that they work on linux-amd64. (CVS 5752) (check-in: 78d075ff user: drh tags: trunk)
2008-09-29
16:41
Remove the reparentPage() and reparentChildPages() functions from btree.c. All calls to these functions can now be replaced by a call to setChildPtrmaps(). (CVS 5751) (check-in: 35e8e4dc user: danielk1977 tags: trunk)
15:53
Remove the MemPage.idxShift variable. It is no longer required. (CVS 5750) (check-in: 7354abd0 user: danielk1977 tags: trunk)
14:27
Do not run vacuum.test as part of the "exclusive" permutation test. (CVS 5749) (check-in: 2fb15ae9 user: danielk1977 tags: trunk)
14:12
Update shared_err.test to work with (5668) (return SQLITE_CORRUPT if rollback fails). (CVS 5748) (check-in: 292acaf7 user: danielk1977 tags: trunk)
11:49
Instead of storing a pointer to the parent page in the MemPage structure, have each B-Tree cursor keep track of the ancestry of the current page. (CVS 5747) (check-in: 40425e93 user: danielk1977 tags: trunk)
00:11
fix #3077: use full version in pkg-config files (CVS 5746) (check-in: efe095e0 user: vapier tags: trunk)
2008-09-26
21:08
Add the "truncate" journal mode which commits transactions by truncating the rollback journal file to zero length and not calling fsync(). (CVS 5745) (check-in: 7c561f2e user: drh tags: trunk)
20:02
Make sure the queueMutex is held prior to writing the pQueueLast field of the write queue in the async demonstration code. Ticket #3405. (CVS 5744) (check-in: 5622a1e2 user: drh tags: trunk)
17:31
Performance enhancement: avoid calling reparentChildPages() from balance_nonroot(). (CVS 5743) (check-in: 28fd0a50 user: danielk1977 tags: trunk)
2008-09-24
14:03
On windows, avoid running those tests in exclusive.test that require the journal file to be externally accessed while SQLite is holding it open. This doesn't work on windows. (CVS 5742) (check-in: 5debf12f user: danielk1977 tags: trunk)
09:58
Add file fts3_icu.c to the amalgamation. Because of the way header files are included into sqlite3.c, fts3_icu.c has to appear after all the other fts3 and icu extension files. Ticket #3398. (CVS 5741) (check-in: 0acca584 user: danielk1977 tags: trunk)
09:12
Fix some function declarations (change "int foo()" to "int foo(void)"). Ticket #3399. (CVS 5740) (check-in: 0fb98c35 user: danielk1977 tags: trunk)
2008-09-23
17:39
Catch another case where SQLITE_IOERR could be returned instead of SQLITE_NOMEM following an out-of-memory error. (CVS 5739) (check-in: 18d030da user: danielk1977 tags: trunk)
16:41
Always transform error code SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. This was already happening in most places. (CVS 5738) (check-in: 046ef072 user: danielk1977 tags: trunk)
10:23
Enable the LOCKING_STYLE extensions by default on a Mac. Leave them disabled on all other posix platforms. (CVS 5737) (check-in: bae1d5b1 user: drh tags: trunk)
10:16
Remove an unused variable from the test logic. (CVS 5736) (check-in: 309ba380 user: drh tags: trunk)
10:12
Fix the TCL installer so that it omits the release number. Ticket #3396. Use strcmp() instead of sqlite3StrICmp() in the "copy" method of the SQLite object in the TCL interface. (CVS 5735) (check-in: a8860624 user: drh tags: trunk)
09:58
Add no-op Unload entry points to the TCL interface. Ticket #3397. (CVS 5734) (check-in: b31dd1e3 user: drh tags: trunk)
09:36
Fix for ticket #3382 was mistakenly removed by (5712). Add an assert to prevent it from being removed again. (CVS 5733) (check-in: 01d26b3d user: drh tags: trunk)
2008-09-22
17:54
Get rid of all of the compiler magic associated with SQLITE_EXPERIMENTAL and SQLITE_DEPRECATED. It was causing more problems than it was solving. Ticket #3395 et al. (CVS 5732) (check-in: bc040073 user: drh tags: trunk)
17:22
Fix a memory leak that can follow a malloc failure in sqlite3_initialize. (CVS 5731) (check-in: 118dc0ba user: danielk1977 tags: trunk)
11:46
Add instrumentation to os_unix.c to test that a return value of SQLITE_FULL from an xSync() callback is handled correctly. (CVS 5730) (check-in: 7bd2da93 user: danielk1977 tags: trunk)
10:44
Version 3.6.3 (CVS 5729) (check-in: 1634fd22 user: drh tags: trunk, release)
06:13
Remove unused macro Release() from vdbe.c. (CVS 5728) (check-in: 91567943 user: danielk1977 tags: trunk)
2008-09-21
15:14
Give file scope to non-API routines in pcache. Ticket #3392. (CVS 5727) (check-in: 6521f98a user: drh tags: trunk)
2008-09-19
18:32
Speed up releaseMemArray() a bit by handling the most common types of memory cells inline. (CVS 5726) (check-in: ce075085 user: danielk1977 tags: trunk)
16:39
In function moveToRoot(), use the MemPage.pParent pointers to find the root page if they are valid. This is slightly faster than requesting a new reference to the root page from the pager layer. (CVS 5725) (check-in: 0c8b74e6 user: danielk1977 tags: trunk)
15:10
In sqlite3BtreeGetMeta(), if BtShared.pPage1 is available use it instead of requesting a new reference from the pager layer. (CVS 5724) (check-in: 59be34cf user: danielk1977 tags: trunk)
09:14
Remove an obsolete layer of redirection in pager.c. (CVS 5723) (check-in: 75deaa44 user: danielk1977 tags: trunk)
2008-09-18
18:18
Do not run the async tests if the async module is not installed. (CVS 5722) (check-in: 4de71a4e user: drh tags: trunk)
18:17
Fix a segfault introduced by (5720) that can follow an IO error. (CVS 5721) (check-in: 05d34626 user: danielk1977 tags: trunk)
17:34
Avoid parsing the structure of b-tree pages (in sqlite3BtreeInitPage) more than is necessary. (CVS 5720) (check-in: 6b998f30 user: danielk1977 tags: trunk)
13:49
Update the version number to 3.6.3. (CVS 5719) (check-in: 419764b3 user: drh tags: trunk)
11:30
Changes to test script nan.test to work on symbian. (CVS 5718) (check-in: 0889b22a user: danielk1977 tags: trunk)
11:18
Changes to test script io.test to work on symbian. (CVS 5717) (check-in: 2b41c495 user: danielk1977 tags: trunk)
01:08
Performance improvements in getAndInitPage(): omit the upper bound check on page number if the page is already in cache. (CVS 5716) (check-in: badd0873 user: drh tags: trunk)
2008-09-17
20:06
Speed improvements for in-memory databases by omitting flag clearing on pages where it is impossible for the flag to be set and by avoiding assert()s on non-debugging builds. Ticket #3384. (CVS 5715) (check-in: a7fd9e62 user: drh tags: trunk)
16:14
Changes to test scripts to support running on symbian. (CVS 5714) (check-in: 6ef34e9d user: danielk1977 tags: trunk)
11:02
Add a type identifier to argument sz to sqlite3PageMalloc() in pcache.c. Ticket #3383. (CVS 5713) (check-in: 94fde77b user: danielk1977 tags: trunk)
00:13
Fix for tickets #3378 and #3381 that preserves the aliasing optimization. And yet, this fix feels uncomfortable. Seeking an alternative... (CVS 5712) (check-in: f8b759f1 user: drh tags: trunk)
2008-09-16
18:02
Add test cases for ticket #3378 and #3381. Add a temporary hack to get those to problems fixed. The hack causes failures in alias.test, but those are much less serious than the aforementioned tickets. This is a stop-gap until we can figure out a proper fix. (CVS 5711) (check-in: a67da9dd user: drh tags: trunk)
15:55
Initialize variable pKeyDup in multiSelectOrderBy(). Technically it doesn't need to be initialized, but the reasoning required to come to that conclusion is too complicated for some automated systems. So it is initialized to keep some compilers happy. Ticket #3382. (CVS 5710) (check-in: bd58be6e user: danielk1977 tags: trunk)
15:50
Use (file nativename (pwd)) instead of just (pwd) to find the name of the current directory to pass to "PRAGMA temp_store_directory" in pragma.test. This helps the test pass on non-unix systems. (CVS 5709) (check-in: 50feaa37 user: danielk1977 tags: trunk)
15:09
Add test script selectC.test which demonstrates ticket #3381. (CVS 5708) (check-in: 3847faff user: drh tags: trunk)
14:38
If the xAccess() call used by "PRAGMA temp_store_directory = /new/path/" to determine if the supplied directory is writable returns an error, assume the directory is not writable. (CVS 5707) (check-in: e8418588 user: danielk1977 tags: trunk)
12:06
Modify the sqlite3VdbeMemCompare() routine so that it does not modify any Mem.z values. Ticket #3376. (CVS 5706) (check-in: 2d450551 user: danielk1977 tags: trunk)
11:58
Add test case for ticket #3376. (CVS 5705) (check-in: c6426057 user: drh tags: trunk)
09:09
Set the type of the "comment" field to SQLITE_TEXT when outputing the results of an EXPLAIN query. (CVS 5704) (check-in: 5dff20f4 user: danielk1977 tags: trunk)
05:12
Do not attempt to change the page size after a pager has entered the error state (Pager.errCode!=SQLITE_OK). This prevents an assertion failure in vacuum3.test. (CVS 5703) (check-in: aa5c9455 user: danielk1977 tags: trunk)
2008-09-15
15:49
Minor comment change to test_async.c. No code changes. (CVS 5702) (check-in: b1341060 user: danielk1977 tags: trunk)
15:36
Adjust the page recycling algorithm so that the number of pages allocated to each connection does not exceed its cache_size limit. (CVS 5701) (check-in: 3bc221b9 user: drh tags: trunk)
14:47
Fix the async.test test script so that it invokes (finish_test) even if the asynchronous backend is not included in the build (and no tests are run). (CVS 5700) (check-in: 5c954b40 user: danielk1977 tags: trunk)
14:42
Fix the shared_err.test script so that it works if the device supports SQLITE_IOCAP_SAFEAPPEND. (CVS 5699) (check-in: 38e5ea07 user: danielk1977 tags: trunk)
14:08
Modify test_async.c to avoid using internal SQLite APIs. There are still some comments that need updating. (CVS 5698) (check-in: 1d4fcaaf user: danielk1977 tags: trunk)
04:20
Check if error code ENOTSUP is supported before using it. Ticket #3375. (CVS 5697) (check-in: c32cb106 user: danielk1977 tags: trunk)
2008-09-13
01:20
Fix issues with bizarrely quoted column names. Tickets #3370, #3371, and #3372. (CVS 5696) (check-in: ced6bbd2 user: drh tags: trunk)
2008-09-12
18:25
Fix the NEAR connector in FTS3 so that it can take ranges in excess of 9. The maximum range is now 32767. (CVS 5695) (check-in: 8e9b9553 user: drh tags: trunk)
16:03
Declare the isInterrupted field of the sqlite3 structure to be volatile. Ticket #3369. (CVS 5694) (check-in: 414da4eb user: drh tags: trunk)
10:22
Add a case to permutations.test to run tests with the IOCAP_SAFEAPPEND property set. (CVS 5693) (check-in: 80bdaafa user: danielk1977 tags: trunk)
2008-09-11
11:28
Add a couple of (fconfigure) commands to configure the incremental blob channels used by test file incrblob.test. This is required so that the tests work on windows and other platforms that have a default -translation mode other than 'lf'. (CVS 5692) (check-in: 753caa20 user: danielk1977 tags: trunk)
10:29
Fix a couple of problems with variable initializations picked up by stricter compilers. (CVS 5691) (check-in: f4293d14 user: danielk1977 tags: trunk)
2008-09-10
17:53
Fix some trivial cases where database corruption was causing an error code other than SQLITE_CORRUPT to be returned. (CVS 5690) (check-in: 89fda074 user: danielk1977 tags: trunk)
14:45
Fix for handling database files corrupted in such a was as to make a b-tree page a direct or indirect descendant of itself. (CVS 5689) (check-in: 93545861 user: danielk1977 tags: trunk)
13:09
Documentation updates: Describe recursion capabilities for the various callbacks. (CVS 5688) (check-in: edd80811 user: drh tags: trunk)
11:28
Avoid deleting a file while it is still open in corrupt2.test. Not all platforms support this. (CVS 5687) (check-in: 099adfd3 user: danielk1977 tags: trunk)
10:57
Fix some test script details so that the test suite runs with an SQLITE_DEFAULT_AUTOVACUUM=2 build. (CVS 5686) (check-in: 300a64b7 user: danielk1977 tags: trunk)
2008-09-09
18:28
Add fuzz3.test. For testing the library's response to corrupted database files. (CVS 5685) (check-in: 7fd4dd95 user: danielk1977 tags: trunk)
12:31
Calling sqlite3_create_function with nArg==(-1) does not override prior calls on the same function name with nArg>=0. Ticket #3345. Add the new -argcount option to the "function" method in the TCL interface. (CVS 5684) (check-in: 5aa5b804 user: drh tags: trunk)
2008-09-08
15:35
Fix a C++ism in pager.c (variable useAtomicWrite not declard at the top of its scope). (CVS 5683) (check-in: a6dee85b user: danielk1977 tags: trunk)
11:07
Fix a bug in r-tree related to internal nodes with one or more dimensions of size zero. Ticket #3363. (CVS 5682) (check-in: 8b600ed0 user: danielk1977 tags: trunk)
09:06
If the 'rootpage' column of the sqlite_master table contains a NULL value, return SQLITE_CORRUPT to the caller. (CVS 5681) (check-in: a7b7b126 user: danielk1977 tags: trunk)
08:08
Add header file sqliteicu.h to the ICU extension. This is analogous to the rtree.h and fts3.h headers used by other extensions to declare their entry points. Fix for ticket #3361. (CVS 5680) (check-in: 79364b96 user: danielk1977 tags: trunk)
2008-09-06
14:19
Deallocate a temp register allocated by codeEqualityTerm() in where.c. If it is not deallocated, its value may be reused by the column-cache mechanism. However, by the time it is used, the value may have been clobbered by a sub-routine that also uses the same temp register. Fix for #3357. (CVS 5679) (check-in: 7c0f638e user: danielk1977 tags: trunk)
2008-09-05
05:29
Change pcache.test so that it works if sqlite is configured to create auto-vacuum databases by default. (CVS 5678) (check-in: 55e67756 user: danielk1977 tags: trunk)
05:02
Fix a problem in btree.c preventing an OOM error from being propagated up to the caller. (CVS 5677) (check-in: 0b8ee83f user: danielk1977 tags: trunk)
2008-09-04
17:17
Add support for the SQLITE_THREADSAFE=2 and SQLITE_DEFAULT_MEMSTATUS compilation options. (CVS 5676) (check-in: 85c2a589 user: danielk1977 tags: trunk)
12:03
Missing implementation for sqlite3TransferBindings(). (CVS 5675) (check-in: 56d61895 user: shane tags: trunk)
06:22
If SQLITE_ENABLE_LOCKING_STYLE is defined, have the os_unix.c module offer the following extra VFS implementations for explicitly selecting a locking-style: "unix-none", "unix-afp", "unix-posix", "unix-flock" and "unix-dotfile". (CVS 5674) (check-in: 6e8fb646 user: danielk1977 tags: trunk)
05:53
Temporarily revert to using sqlite3_transfer_bindings() internally. (CVS 5673) (check-in: 690ff385 user: danielk1977 tags: trunk)
04:32
Modified core to not call deprecated functions sqlite3_memory_alarm() and sqlite3_transfer_bindings() by adding sqlite3MemoryAlarm() and sqlite3TransferBindings(). sqlite3_memory_alarm() and sqlite3_transfer_bindings() are now simple wrappers for the new functions. In prep for adding SQLITE_OMIT_DEPRECATED. (CVS 5672) (check-in: 821c387d user: shane tags: trunk)
2008-09-03
17:11
Work around an issue with the WINSCW compiler. (CVS 5671) (check-in: e333c3f4 user: drh tags: trunk)
01:08
Make the default threading mode multithread (-nomutex) in the TCL interface. (CVS 5670) (check-in: d9e82694 user: drh tags: trunk)
00:43
Add support for SQLITE_OPEN_FULLMUTEX. (CVS 5669) (check-in: f2f361a5 user: drh tags: trunk)
00:08
If a rollback fails, mark the database as corrupt. (CVS 5668) (check-in: c8b24bd1 user: drh tags: trunk)
2008-09-02
21:35
API documentation updates for threading mode. (CVS 5667) (check-in: fa237c14 user: drh tags: trunk)
17:52
Explicitly initialize at least the first field of every struct. This is to work around compilers that don't like the syntax "struct XXX { ... } yyy = {};". (CVS 5666) (check-in: 88bfdc87 user: danielk1977 tags: trunk)
17:18
Fix the position of the SQLITE_WSD macro in the declaration of global variable vfsList. (CVS 5665) (check-in: e8694461 user: danielk1977 tags: trunk)
16:22
Fine tune the hard-coded values passed to sqlite3_init_wsd(). (CVS 5664) (check-in: af5763eb user: danielk1977 tags: trunk)
15:44
Add an extra 'const' qualifier to two arrays (in func.c and pragma.c) to ensure that they do not consume space in the data segment of the compiled object files. (CVS 5663) (check-in: 43f757c9 user: danielk1977 tags: trunk)
14:07
Move the sqlite3SharedCacheEnabled global and the inProgress static variable (function sqlite3_initialize()) into the global sqlite3Config structure. This is required for the OMIT_WSD feature to work on some platforms. (CVS 5662) (check-in: 88c82759 user: danielk1977 tags: trunk)
11:05
Add a 'const' to the opcodeProperty array in vdbe.c. (CVS 5661) (check-in: 29c9a802 user: danielk1977 tags: trunk)
10:22
Change some more global variables to work with OMIT_WSD. (CVS 5660) (check-in: 46acaf58 user: danielk1977 tags: trunk)
09:38
Modify pcache.c to work with OMIT_WSD. (CVS 5659) (check-in: 44def90d user: danielk1977 tags: trunk)
00:52
Continuing work on adding full support for the SQLITE_OMIT_WSD compile-time option. (CVS 5658) (check-in: ef26ea5c user: drh tags: trunk)
2008-09-01
22:15
Add define for INVALID_FILE_ATTRIBUTES if it is not already defined, as some older Windows compilers do not define it. (CVS 5657) (check-in: e0461f87 user: shane tags: trunk)
22:06
Added (_MSC_VER>1200) to SQLITE_DEPRECATED and SQLITE_EXPERIMENTAL defines since __declspec(deprecated) isn't supported by VC 6 or earlier. Ticket #3347. (CVS 5656) (check-in: 4bcaed08 user: shane tags: trunk)
21:59
Omit prototype for and calls to sqlite3MaterializeView() if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER). (CVS 5655) (check-in: 9cf484fc user: shane tags: trunk)
20:38
Converted strcasecmp to sqlite3StrICmp. Test code only. (CVS 5654) (check-in: bdeefe37 user: shane tags: trunk)
19:14
Modify the aBuiltinFunc array in func.c to use the WSD macros. (CVS 5653) (check-in: 846fff5f user: danielk1977 tags: trunk)
18:34
Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) (check-in: 573d92ab user: danielk1977 tags: trunk)
17:23
Remove an unused function declaration from a header file. Ticket #3349. (CVS 5651) (check-in: 7a577428 user: drh tags: trunk)
15:52
Defer deleting Table objects associated with flattened subqueries until all code has been generated, in case some expression node still references the Table object. Ticket #3346. (CVS 5650) (check-in: d04d7033 user: drh tags: trunk)
12:47
Have the rtree module set the estimatedCost output variable. Ticket #3312. (CVS 5649) (check-in: 483932c4 user: danielk1977 tags: trunk)
2008-08-31
00:29
Changed to used sqlite3_snprintf instead of snprintf (test code only). (CVS 5648) (check-in: d68791e3 user: shane tags: trunk)
2008-08-30
16:34
Version 3.6.2 (CVS 5647) (check-in: 88c51b9f user: drh tags: trunk, release)
16:07
Run permutation subtests in sorted order. (CVS 5646) (check-in: 4cd1bdf3 user: drh tags: trunk)
13:25
Add some code to permutations.test to make sure no test file modifies the shared-cache setting. (CVS 5645) (check-in: 8565b7c6 user: danielk1977 tags: trunk)
09:10
Make sure thread003.test waits for all spawned threads to finish before continuing. (CVS 5644) (check-in: 87c7e82f user: danielk1977 tags: trunk)
2008-08-29
18:42
remove private declaration of sqlite3_snprintf() in sqliteInt.h as there is already a public declaration in sqlite3.h (CVS 5643) (check-in: 4113e778 user: rse tags: trunk)
18:40
remove a doubled function declaration (the second just is just two lines below) (CVS 5642) (check-in: e5793110 user: rse tags: trunk)
17:56
Move a call to sqlite3_mutex_leave() to protect calls to sqlite3StatusAdd() related to scratch (SQLITE_CONFIG_SCRATCH) memory. (CVS 5641) (check-in: 4e011ddf user: danielk1977 tags: trunk)
15:54
Modify tclsqlite.test so that it works reliably with tcl 8.5.4. (CVS 5640) (check-in: 790d329f user: danielk1977 tags: trunk)
12:00
In permutations.test, disable tests that depend on soft-heap-limit functionality when running the memsubsys2 variant. It disables the soft-heap-limit. (CVS 5639) (check-in: 047c7bdb user: danielk1977 tags: trunk)
09:10
If a page is made eligible for recycling when more than the configured maximum number of pages are allocated, free it immediately instead of adding it to the LRU list. (CVS 5638) (check-in: 4b12922d user: danielk1977 tags: trunk)
02:14
Avoid reevaluating WHERE and ORDER BY expressions that alias terms in the result set. Ticket #3343. Note that aliased GROUP BY expressions are still evaluated twice. (CVS 5637) (check-in: ab0292ca user: drh tags: trunk)
2008-08-28
18:35
Fix ioerr5.test so that it works with the new pcache module. (CVS 5636) (check-in: 83e6a75e user: danielk1977 tags: trunk)
17:46
Partial fix for a bug in recovery from xStress failures in pcache. (CVS 5635) (check-in: 44193b92 user: drh tags: trunk)
13:55
Avoid using (clock seconds) in thread003.test. It is not available if testfixture is linked to tcl 8.5. (CVS 5634) (check-in: b606263d user: danielk1977 tags: trunk)
13:15
Use ckfree() instead of sqlite3_free() to free an allocation made by ckalloc() in test_thread.c (test code only). (CVS 5633) (check-in: 677ac144 user: danielk1977 tags: trunk)
11:12
Fix mutex related bug in pcache.c to do with handling IO errors. (CVS 5632) (check-in: 5e304fed user: danielk1977 tags: trunk)
10:21
Enable the disabled asserts added by (5629). Add extra tests to thread003.test. And the required modifications to pcache.c. (CVS 5631) (check-in: 473c09fa user: danielk1977 tags: trunk)
08:31
Fix a threads/mutex problem in pcache.c. (CVS 5630) (check-in: 1928f15b user: danielk1977 tags: trunk)
02:26
Miscellaneous cleanup in the new pcache code. (CVS 5629) (check-in: da177725 user: drh tags: trunk)
2008-08-27
19:01
If any error occurs during sqlite3_open(), move the database handle into "sick" state. When in the sick state the user can use sqlite3_errcode() and sqlite3_errmsg(), but not much else. (CVS 5628) (check-in: ce9c74ea user: danielk1977 tags: trunk)
18:56
Add the trans2.test script designed to stress statement rollback and no-write optimizations on large transactions with a small cache. (CVS 5627) (check-in: 39c34e22 user: drh tags: trunk)
18:03
Do not mark pages as clean when doing a statement journal rollback. (CVS 5626) (check-in: 9d7722f4 user: drh tags: trunk)
16:38
Modifications to malloc5.test to account for the fact that sqlite3_release_memory() no longer reclaims dirty pages. (CVS 5625) (check-in: b01c65b0 user: danielk1977 tags: trunk)
16:14
Clear the $result variable prior to using it in corrupt2.test. (CVS 5624) (check-in: 12f2d24f user: drh tags: trunk)
15:21
In the test logic: load the md5sum() SQL function as a separate autoloaded extension. (CVS 5623) (check-in: d4438251 user: drh tags: trunk)
15:16
Use a bitvec object to store the set of pages with the 'always-rollback' property for a transaction. (CVS 5622) (check-in: 9e932599 user: danielk1977 tags: trunk)
13:31
Remove obsolete file: md5.c. This file had been removed years ago. It is unclear how it got back into the repository. (CVS 5621) (check-in: 45fc70bd user: drh tags: trunk)
09:44
Remove unreachable branches from pcache.c. (CVS 5620) (check-in: 7de32498 user: danielk1977 tags: trunk)
2008-08-26
23:08
Fix an issue with the permutation test script. (CVS 5619) (check-in: 2e12aa3e user: drh tags: trunk)
21:33
In the TCL interface, disable the authorizer when during a BEGIN, COMMIT, or ROLLBACK associated with the transaction method. Ticket #3336. (CVS 5618) (check-in: 7e1032ab user: drh tags: trunk)
21:07
All the page_size pragma to change the page size on a new :memory: database, but not a vacuumed :memory: database. Ticket #3335 (CVS 5617) (check-in: 226a9056 user: drh tags: trunk)
19:08
Disable some very expensive asserts in pcache.c that are too slow for all.test. (CVS 5616) (check-in: 555dad90 user: danielk1977 tags: trunk)
18:05
Simplify the pcache module by only recycling clean pages from 'other' caches. This commit causes errors in test files ioerr5.test and malloc5.test because they test recycling dirty pages from other caches. (CVS 5615) (check-in: 9e511e16 user: danielk1977 tags: trunk)
14:42
Implement a "counter" SQL function that can be used to insert a sequence number each row of a result set. Currently in the test harness only, but a candidate to move into the core. (CVS 5614) (check-in: c84d46c7 user: drh tags: trunk)
12:56
Do not flatten subqueries where the subquery has a LIMIT and the outer query has a WHERE clause. Ticket #3334. (CVS 5613) (check-in: 4995a1d1 user: drh tags: trunk)
2008-08-25
21:23
Add the SQLITE_OPEN_FULLMUTEX definition to sqlite3.h. It currently is not valid for anything. This is merely to reserve the number. (CVS 5612) (check-in: 3b6ffb44 user: drh tags: trunk)
19:09
Fix obscure permutation test problems. (CVS 5611) (check-in: aa92a1be user: drh tags: trunk)
17:23
Fix bug in the premutation testing that was causing many permutations from begin skipped. There are now 16 errors reported by the permutation test. (CVS 5610) (check-in: 4ad096bd user: drh tags: trunk)
14:49
Pick up a small performance increase by eliminating the pcacheRef() function. (CVS 5609) (check-in: e3840fbf user: danielk1977 tags: trunk)
12:14
Additional coverage testing in the new name resolver module. (CVS 5608) (check-in: 0d61960a user: drh tags: trunk)
12:08
Two if statements should be asserts. GCC was silently ignoring them, hence the problem did not show up in coverage testing. Ticket #3333. (CVS 5607) (check-in: 635933b1 user: drh tags: trunk)
11:57
Fix a segfault that can occur when running integrity_check on a corrupt db. (CVS 5606) (check-in: eae959ed user: danielk1977 tags: trunk)
07:12
If the sector size is greater than the database page size, SQLite journals all pages that lie within a sector before writing to any of them. This change ensure that a journal sync does not occur halfway through journalling the set of pages that belong to a single sector. (CVS 5605) (check-in: 16f612d6 user: danielk1977 tags: trunk)
2008-08-23
18:53
Instead of marking a page as clean when sqlite3PagerDontWrite() is called, set a dedictated flag - PGHDR_DONT_WRITE. (CVS 5604) (check-in: a323bd29 user: danielk1977 tags: trunk)
16:17
Do not incorrectly detect corruption when an auto-vacuum database is converted to a non-auto-vacuum database within a vacuum. Ticket #3332. (CVS 5603) (check-in: cb869946 user: danielk1977 tags: trunk)
2008-08-22
18:41
quieting compiler warning about pointer/int conversion size mismatch (CVS 5602) (check-in: f8a70501 user: aswift tags: trunk)
17:34
Remove dead code. (CVS 5601) (check-in: 6de9c084 user: drh tags: trunk)
17:28
add legacy.lo back (in alphabetical order) (CVS 5600) (check-in: a861aa73 user: pweilbacher tags: trunk)
17:09
Relinquish the pcache mutex before calling an xStress callback. This ensures that the pcache mutex is never held while IO is performed. (CVS 5599) (check-in: 8fe234b2 user: danielk1977 tags: trunk)
16:29
Enhanced test coverage. (CVS 5598) (check-in: cc36b4e0 user: drh tags: trunk)
16:22
When recycling a page, try to find one that does not require a call to xSync() on the journal file. Also simplify some of the mutex related things in pcache. (CVS 5597) (check-in: 93dbc542 user: danielk1977 tags: trunk)
14:41
Make sure the function context is fully initialized before invoking the function finalizer. Ticket #3326. (CVS 5596) (check-in: 8496f4a0 user: drh tags: trunk)
14:08
Remove unused variable from printf.c. Ticket #3331. (CVS 5595) (check-in: 7fd11f4a user: drh tags: trunk)
13:58
remove OS/2 compiler flags that aren't really necessary (CVS 5594) (check-in: b688c68c user: pweilbacher tags: trunk)
13:57
fix some tests to take the right branch on OS/2 (hope I got the Tcl syntax right) (CVS 5593) (check-in: 10e62d47 user: pweilbacher tags: trunk)
13:47
Hide (for non-debugging builds) and remove DELETEONCLOSE files on OS/2, following the Windows example. Ticket #3328. (CVS 5592) (check-in: 8aaa7700 user: pweilbacher tags: trunk)
12:57
Fix nuisance compiler warnings. Ticket #3309. (CVS 5591) (check-in: 2a365e29 user: drh tags: trunk)
12:46
Add test case to verify that Ticket #3301 was fixed by (5569) (CVS 5590) (check-in: 73b26068 user: drh tags: trunk)
12:30
Allow the WHERE clause in an UPDATE or DELETE against a view with an INSTEAD OF trigger to refer to the view by name. Ticket #3298. (CVS 5589) (check-in: 7360e5d1 user: drh tags: trunk)
00:47
Fix os_unix.c so that it will compile on Linux again. (CVS 5588) (check-in: 24167082 user: drh tags: trunk)
00:25
Deferring file descriptor closing to avoid trashing locks when directly manipulating sqlite db file contents (causes errors on AFP testing) (CVS 5587) (check-in: e28a2870 user: aswift tags: trunk)
00:22
Added SQLITE_IOERR_LOCK extended error code and support for detecting and returning errors in the os_unix lock, unlock and check reserved lock variants, also added support for populating and returning system error codes so that they can be accessed via xGetLastError, unfortunately xGetLastError can't seem to access the unixFile structure where the lastErrno is recorded. (CVS 5586) (check-in: c1af14e2 user: aswift tags: trunk)
2008-08-21
20:21
Move date+time functions to start-time initialization. Additional start-time function cleanup. (CVS 5585) (check-in: 80d6a31c user: drh tags: trunk)
19:28
Remove references to OP_MoveTo in comments of vdbe.c - that opcode no longer exists. Ticket #3327. (CVS 5584) (check-in: 30077ece user: drh tags: trunk)
18:49
Initialize the global built-in function table at start-time instead of at compile-time. This is less prone to malfunction when compile-time parameters very. (CVS 5583) (check-in: ef6936e5 user: drh tags: trunk)
15:54
Fix soft-heap-limit related test suite failures. (CVS 5582) (check-in: 2091d9a5 user: danielk1977 tags: trunk)
15:13
Increase the version number in preparation for the next release. (CVS 5581) (check-in: d68dad73 user: drh tags: trunk)
14:54
Make sure "rowid" columns in views are named correctly. Ticket #3308. (CVS 5580) (check-in: 8593218c user: drh tags: trunk)
14:24
Add test cases to verify that ticket #3314 has been fixed. (CVS 5579) (check-in: b46267ff user: drh tags: trunk)
14:15
Reinsert an SCopy operation that was removed in (5523) because coverage testing indicated that it was dead code. Ticket #3324 shows that the code was not as dead as we thought it was. (CVS 5578) (check-in: 68557115 user: drh tags: trunk)
12:32
Patch to mkfunction to try and detect miscompiles. Add an unimportant assert back to pcache.c. (CVS 5577) (check-in: a2f375ff user: drh tags: trunk)
12:19
Fix the functionality associated with sqlite3_release_memory() and sqlite3_soft_heap_limit(). It is automatically disabled if the SQLITE_CONFIG_PAGECACHE option is used. (CVS 5576) (check-in: d025866b user: danielk1977 tags: trunk)
04:41
Move an assert() in sqlite3PcacheDirtyPage() so that it does not occur before local variable declarations. Ticket #3325. (CVS 5575) (check-in: 899fa19d user: danielk1977 tags: trunk)
04:35
Remove leftover PGHDR_TO_DATA macro from pager.c. Ticket #3323. (CVS 5574) (check-in: 5e9559c0 user: danielk1977 tags: trunk)
2008-08-20
22:06
Modify the sqlite3VdbeUnpackRecord() interface to force the temporary space to be 8-byte aligned. This might be important for Sparc. Ticket #3318. (CVS 5573) (check-in: 00b17798 user: drh tags: trunk)
21:47
Comment and function naming tweaks to pcache. No functionality changes. (CVS 5572) (check-in: 4b0e67d3 user: drh tags: trunk)
17:48
Modify the lemon parser template to avoid using zero-initialized constants when compiled with C++. Ticket #3288. (CVS 5571) (check-in: 71992f4a user: drh tags: trunk)
17:19
Fix a problem in Makefile.in causing the static function hash-table to be constructed incorrectly (segfault). (CVS 5570) (check-in: aef5b909 user: danielk1977 tags: trunk)
16:35
Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: daf730d1 user: drh tags: trunk)
16:34
When a "pragma main.table_info(...)" is issued, consider only tables from the main database, not the temp db. Ticket #3320. (CVS 5568) (check-in: d0cfbbba user: danielk1977 tags: trunk)
16:21
Fix typo in main.c: SQLITE_MAX_ATTACH -> SQLITE_MAX_ATTACHED. Ticket #3319. (CVS 5567) (check-in: 66ff55ef user: danielk1977 tags: trunk)
14:49
Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566) (check-in: cb494e10 user: danielk1977 tags: trunk)
2008-08-14
00:19
Do not flatten the right term of a LEFT join. Ticket #3300. (CVS 5565) (check-in: 8947c72f user: drh tags: trunk)
2008-08-13
20:09
Explicit casts of the return from strlen() to int in lemon. This has no effect on SQLite. It has no effect on any lemon-generated parser with a grammar that is less than 2GB in size. Ticket #3293. (CVS 5564) (check-in: a519cdb2 user: drh tags: trunk)
20:04
Fix token destructors in lemon generated parsers. Does not effect SQLite. Ticket #3299. (CVS 5563) (check-in: 4887e8fc user: drh tags: trunk)
19:11
Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: 0b92cbf5 user: drh tags: trunk)
14:07
A partial fix for ticket #3292. This fixes the original problem but there are other similar problems lurking in the code still. (CVS 5561) (check-in: 055f173a user: drh tags: trunk)
2008-08-12
15:48
Make sure the lookaside test script saturates the lookaside buffer even when SQLITE_DEBUG is off. Ticket #3289 (CVS 5560) (check-in: d6aacc5d user: drh tags: trunk)
15:21
Revise the initialization and shutdown logic so that it no longer keeps a recursive mutex allocated for the whole interval but instead releases the mutex as soon as possible. Do not reset status values upon initialization. (CVS 5559) (check-in: 697fe7a3 user: drh tags: trunk)
15:04
Fix further warnings/compilation errors in test code. (CVS 5558) (check-in: 42247b91 user: danielk1977 tags: trunk)
14:51
Documentation updates and clarifications in sqlite.h.in. (CVS 5557) (check-in: e3935502 user: drh tags: trunk)
14:48
Fix warnings and a compilation error in test code. (CVS 5556) (check-in: 80c129e6 user: danielk1977 tags: trunk)
2008-08-11
20:07
GCC attribute warning first appears in the 4.3.0 docs, so updated #if to specify at least that version. (CVS 5555) (check-in: 46defad5 user: shane tags: trunk)
19:12
Make the CLI more tolerant of malformed schemas by setting the writable_schema pragma prior to running the ".dump" command. (CVS 5554) (check-in: 860babd8 user: drh tags: trunk)
18:44
Do not allow indexing of any table whose name begins with "sqlite_". Ticket #3284. Improve handling of databases with malformed schemas - just in case somebody has actually indexed a system table. (CVS 5553) (check-in: 0e1d8d14 user: drh tags: trunk)
18:29
The GCC magic to warn about experimental interfaces does not work on gcc version 4.1.0. Add #ifdefs to work around this. (CVS 5552) (check-in: 90cae831 user: drh tags: trunk)
17:27
Added SQLITE_EXPERIMENTAL and SQLITE_DEPRECATED tags to APIs to take advantage of compiler warnings (with the necessary function attributes.) Ticket #3142. (CVS 5551) (check-in: 5f4b547a user: shane tags: trunk)
14:26
Disallow empty triggers. Ticket #3283. This does not present a backwards compatibility problem because prior to this change, an empty trigger would segfault. (CVS 5550) (check-in: 571adab9 user: drh tags: trunk)
2008-08-08
18:06
Move a variable initialization earlier to work around MS compiler complaints. (CVS 5549) (check-in: 02232e71 user: drh tags: trunk)
15:06
Back out part of (5546): Even though ON CONFLICT clauses on CHECK constraints are no-ops, if a schema includes them, the database will be unreadable if we do not at least parse and ignore the clause. (CVS 5548) (check-in: efcaeb68 user: drh tags: trunk)
14:33
Round lookaside buffer sizes in the right direction. Ticket #3277. (CVS 5547) (check-in: c1a9bf38 user: drh tags: trunk)
14:19
Disallow the ON CONFLICT clause on CHECK constraints. The syntax used to be allowed but never worked, so this should not present compatibility problems. Other internal grammar simplifications. (CVS 5546) (check-in: 4cedc641 user: drh tags: trunk)
2008-08-07
13:05
Improved clarity of presentation in the tokenizer. (CVS 5545) (check-in: 732657c6 user: drh tags: trunk)
2008-08-06
13:47
Fix compilation with SQLITE_OMIT_FOREIGN_KEY defined. Ticket #3273. (CVS 5544) (check-in: ce8cbeea user: danielk1977 tags: trunk)
13:40
Fix typo in comments in sqlite.h.in. Ticket #3271. (CVS 5543) (check-in: 18030631 user: danielk1977 tags: trunk)
10:50
Version 3.6.1 (CVS 5540) (check-in: 65ab777f user: drh tags: trunk, release)
10:47
Trying again to fix the publish.sh script. (CVS 5542) (check-in: 01fb8a0d user: drh tags: trunk)
10:43
Fix the tarball builder in publish.sh to exclude CVS and Fossil files. (CVS 5541) (check-in: 43896f10 user: drh tags: trunk)
2008-08-05
21:42
Revise build scripts in set SQLITE_ENABLE_COLUMN_METADATA on DLLs. (CVS 5539) (check-in: ce5daa03 user: drh tags: trunk)
21:36
Remove a reference to snprintf() in test8.c. (CVS 5538) (check-in: 32d32b74 user: drh tags: trunk)
17:53
Add SQLITE_STATUS_PAGECACHE_SIZE and SQLITE_STATUS_SCRATCH_SIZE. (CVS 5537) (check-in: c4e9b824 user: drh tags: trunk)
2008-08-04
20:13
Separate verbs of sqlite3_config() and sqlite3_db_config() into their own namespaces. Allow SQLITE3_DBCONFIG_LOOKASIDE to specific an external memory buffer. (CVS 5536) (check-in: 5dd865da user: drh tags: trunk)
14:50
Modify the configure script to avoid using the += operator. Not all shells support it. (CVS 5535) (check-in: f167b274 user: danielk1977 tags: trunk)
13:44
Enhanced markings for experimental and deprecated interfaces. (CVS 5534) (check-in: 7e6ec5d5 user: drh tags: trunk)
11:49
Make it easier to build with the icu extension enabled. Include icu.c in the amalgamation source. Ticket #3245. (CVS 5533) (check-in: e42ff97b user: danielk1977 tags: trunk)
04:39
Add an assert() statement that will alert us if the potential problem identified by #3243 ever becomes a reality. (CVS 5532) (check-in: 34208f0b user: danielk1977 tags: trunk)
04:28
Add the pkgconfigdir variable to Makefile.in. Ticket #3242. (CVS 5531) (check-in: 540c9d4c user: danielk1977 tags: trunk)
03:51
Fix (make test) with SQLITE_OMIT_COMPOUND_SELECT. Ticket #3235. (CVS 5530) (check-in: 9ca975c8 user: danielk1977 tags: trunk)
01:46
removed some extraneous blank lines. made sure to use only LF line endings. (CVS 5529) (check-in: 358bd660 user: shane tags: trunk)
2008-08-02
20:09
Test scripts revised to work when auto_vacuum defaults on. (CVS 5528) (check-in: e63186b0 user: drh tags: trunk)
17:36
Fix a reference count leak introduced by (5526). (CVS 5527) (check-in: f653995c user: danielk1977 tags: trunk)
17:03
Avoid doing IO purely to check assert() constraints. (CVS 5526) (check-in: fb26ae72 user: danielk1977 tags: trunk)
15:32
Fix a bug introduced by (5519) causing builds with SQLITE_OMIT_VIRTUALTABLE to malfunction. (CVS 5525) (check-in: 761e73ce user: danielk1977 tags: trunk)
15:10
Increase the ref-count on the sqlite3_vtab structure before calling either the xNext or xFilter methods. (CVS 5524) (check-in: 6e41455f user: danielk1977 tags: trunk)
03:50
Additional coverage testing. Fix a segfault following OOM in sqltie3_load_extension(). (CVS 5523) (check-in: f1e44eb3 user: drh tags: trunk)
2008-08-01
20:10
Bring test coverage up to 99%. (CVS 5522) (check-in: 2cd6bae8 user: drh tags: trunk)
18:47
Fix problems in test scripts. Add new test cases to improve test coverage. (CVS 5521) (check-in: b65f493c user: drh tags: trunk)
17:51
Also test that setting sqlite3_vtab.zErrMsg works from within the xRename method. (CVS 5520) (check-in: 4f4a9cca user: danielk1977 tags: trunk)
17:37
Test that virtual table methods xBestIndex, xOpen, xFilter, xNext, xColumn, xRowid, xUpdate, xSync and xBegin can all return error messages using the sqlite3_vtab.zErrMsg variable. (CVS 5519) (check-in: 007359b7 user: danielk1977 tags: trunk)
16:31
Test cases for sqlite3_db_config() and sqlite3_db_status(). (CVS 5518) (check-in: 6a6b9430 user: drh tags: trunk)
15:06
Add a permutation test case for running all OOM tests with lookaside disabled. (CVS 5517) (check-in: 3f70e03a user: drh tags: trunk)
14:33
Applied patch to fix failure with build on gcc-powerpc (provide sqlite3Hwtime). Ticket #3256. (CVS 5516) (check-in: c9ecd88e user: shane tags: trunk)
10:50
If xAccess() fails while attempting to detect a hot-journal file, do not assume that the error was an out-of-memory condition. (CVS 5515) (check-in: 70f20425 user: danielk1977 tags: trunk)
2008-07-31
17:35
Define _GNU_SOURCE only if it is not already defined. Ticket #3263. (CVS 5514) (check-in: bc5abd31 user: drh tags: trunk)
17:20
Update the memsubsys1 test script to take into account the buffer size changes of the previous check-in. (CVS 5513) (check-in: d43ff7bb user: drh tags: trunk)
17:16
Change the definition of SQLITE_CONFIG_PAGECACHE and SQLITE_CONFIG_SCRATCH to omit the magic "+4" in the buffer size calculation. (CVS 5512) (check-in: e7ed0fe6 user: drh tags: trunk)
14:47
Documentation updates. (CVS 5511) (check-in: e7fdd813 user: drh tags: trunk)
02:43
Updated omittest.tcl. Updated OMIT list. Updated for Windows. (CVS 5510) (check-in: f9423993 user: shane tags: trunk)
02:05
Omit calls to test_get_table_printf() if SQLITE_OMIT_GET_TABLE defined. (CVS 5509) (check-in: 524a4075 user: shane tags: trunk)
01:47
Omit calls to test_destructor16() if SQLITE_OMIT_UTF16 defined. (CVS 5508) (check-in: 2d5cec53 user: shane tags: trunk)
01:43
Fixed comment to use right function names for sqlite3VdbeSerialPut() and sqlite3VdbeSerialGet(). (CVS 5507) (check-in: 820c37ec user: shane tags: trunk)
01:40
Omit calls to sqlite3Pragma() if SQLITE_OMIT_PARSER defined. Not technically needed, as the entire generated parse.c file should not be included. (CVS 5506) (check-in: 10e04508 user: shane tags: trunk)
01:34
Improved retry logic for winDelete() when in "pending delete" state. (CVS 5505) (check-in: 03a79734 user: shane tags: trunk)
2008-07-30
17:28
When opening a zero-size database on unix, write one byte into the file before interrogating the inode number. This works around issues with msdos filesystems mounted on OS-X. Ticket #3260. (CVS 5504) (check-in: a480a884 user: drh tags: trunk)
15:27
In the unix OS implementation, replace inode hash tables with linked lists. (CVS 5503) (check-in: db4022db user: drh tags: trunk)
13:27
Implicit string->numeric conversion should go to an integer value when possible. Ticket #3257. (CVS 5502) (check-in: da0e4bff user: drh tags: trunk)
13:15
Make sure everything is deallocated before calling sqlite3_shutdown(). Ticket #3259. (CVS 5501) (check-in: 4a6ee886 user: drh tags: trunk)
13:14
Remove unused sqlite3VdbeMemDynamicify() function from the VDBE. (CVS 5500) (check-in: aee63308 user: drh tags: trunk)
2008-07-29
20:38
Backport http://www.sqlite.org/cvstrac/chngview?cn=5489 from fts3. Re-used prepared statement from fts2 cursor. (CVS 5499) (check-in: 02870ed2 user: shess tags: trunk)
20:24
Add some simple tests to make sure that the different fulltextFilter query paths are being exercised. (CVS 5498) (check-in: ae96d960 user: shess tags: trunk)
18:49
finally make temporary and journal files hidden in release builds on OS/2 (CVS 5497) (check-in: c449a95c user: pweilbacher tags: trunk)
18:38
recursively call os2Open() with the incoming VFS pointer, in case it gets used in the future (CVS 5496) (check-in: 6eac49f0 user: pweilbacher tags: trunk)
18:35
move os2FullPathname() so that it can be used in os2Open() directly (CVS 5495) (check-in: 2455e454 user: pweilbacher tags: trunk)
14:29
Enhancements to the pagecache malloc test configuration. Changes to the speed test scripts to use the new test enhancements. (CVS 5494) (check-in: 0ce39c21 user: drh tags: trunk)
14:28
Increase the version number to 3.6.1. (CVS 5493) (check-in: ec09b551 user: drh tags: trunk)
11:25
Use a macro to make sure that the calls to sqlite3Utf8Read() from MemTranslate() are inlined. This speeds up converting from utf8 to utf16. (CVS 5492) (check-in: 78a623bb user: danielk1977 tags: trunk)
10:26
Add a missing "finish_test" to the end of misc5.test. (CVS 5491) (check-in: 89216b16 user: danielk1977 tags: trunk)
10:18
Speed up OP_Column by eliminating some double handling. (CVS 5490) (check-in: 9ebee840 user: danielk1977 tags: trunk)
01:13
Re-used prepared statement from fts3 cursor. Previously, each call to fulltextFilter() finalized any existing prepared statement and prepared a new one. In the case where idxNum has not changed, simply reseting the statement suffices. This provides an order of magnitude speedup in incoming joins against docid. (CVS 5489) (check-in: a08a5f2b user: shess tags: trunk)
2008-07-28
19:34
Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) (check-in: e48f9697 user: drh tags: trunk)
05:26
Add mem6.c to Makefile.in. Ticket #3253. (CVS 5487) (check-in: 51be2e44 user: danielk1977 tags: trunk)
05:22
In the documentation for SQLITE_CONFIG_MEMSTATUS, make it clear that the 'boolean' argument passed to sqlite3_config() is actually of type int. Ticket #3252. (CVS 5486) (check-in: 1ffdd46f user: danielk1977 tags: trunk)
2008-07-26
18:47
Remove a branch that could not be taken from OP_IsUnique. (CVS 5485) (check-in: 75c2a532 user: danielk1977 tags: trunk)
18:26
Fix a case where database corruption was causing an invalid reference. (CVS 5484) (check-in: 7aecabac user: danielk1977 tags: trunk)
2008-07-25
16:39
Add an SQLITE_OMIT_LOCALTIME around the "utc" modifier in date/time functions. (CVS 5483) (check-in: 71486e93 user: drh tags: trunk)
16:07
Further performance improvements to mem6.c. (CVS 5482) (check-in: 4528f7b1 user: danielk1977 tags: trunk)
15:39
Add the capability to track the maximum depth of the LALR(1) parser stack so that critical applications can check to see if they are getting close to limits. (CVS 5481) (check-in: ef0250f3 user: drh tags: trunk)
14:53
Fix the corrupt7 tests to track changes in the integrity check error message. (CVS 5480) (check-in: 22177dac user: drh tags: trunk)
13:39
Increase limits on memsubsys1 tests to accomodate the larger structure sizes on 64-bit platforms. (CVS 5479) (check-in: f7720f1b user: drh tags: trunk)
13:32
Require the SQLITE_ENABLE_INSTVFS symbol in order to compile testfixture with sqlite3_instvfs enabled. This allows fulltest to run on platforms for which we do not have a working hwtime.h (ex: ppc, s390). Change requested from the SuSE team. (CVS 5478) (check-in: 16c164e7 user: drh tags: trunk)
12:49
Make the libtclsqlite3.la shared library depend on a separate libsqlite3.la shared library. I think this flies in the face of the whole SQLite philosophy of minimal dependencies, but on the other hand, few people use that shared library and the capability has been requested from the SuSE team. (CVS 5477) (check-in: 83484b42 user: drh tags: trunk)
12:39
Fix a build problem on tclsqlite in Makefile.in. (CVS 5476) (check-in: e7a60480 user: drh tags: trunk)
10:40
Speed up the xFree() method of the mem6.c allocator by storing the offset from the pointer to the start of its chunk in a header field. (CVS 5475) (check-in: 0de54891 user: danielk1977 tags: trunk)
09:24
Change mem6.c to use the malloc() and free() functions directly, instead of going via another sqlite3_mem_methods structure. (CVS 5474) (check-in: cfa65e23 user: danielk1977 tags: trunk)
08:49
Updates to mem6.c allocator. (CVS 5473) (check-in: 43a4cae2 user: danielk1977 tags: trunk)
2008-07-24
23:34
Reduce the size of the parser allocation. Add additional instrumentation to mem2. speed1*.test uses scratch malloc. (CVS 5472) (check-in: 599a9dea user: drh tags: trunk)
17:06
Use a new algorithm for sqlite3Strlen that is slightly slower but is more like to work on a mixture of 32- and 64-bit systems. Ticket #3237, #3248. (CVS 5471) (check-in: cb1876d8 user: drh tags: trunk)
15:50
Update the implementation of sqlite3ResultSetOfSelect() to (hopefully) make it clearer that malloc failures cannot possibly result in a crash. Ticket #3247. (CVS 5470) (check-in: 74553109 user: drh tags: trunk)
10:32
Do not run capi3.test or capi3c.test when testing memsys6. (CVS 5469) (check-in: e0a10111 user: danielk1977 tags: trunk)
10:11
Add a mutex to mem6.c to make it threadsafe. (CVS 5468) (check-in: 9b97ce60 user: danielk1977 tags: trunk)
08:20
Add mem6.c, a new allocator. More to come. (CVS 5467) (check-in: 192bc192 user: danielk1977 tags: trunk)
2008-07-23
21:07
Error messages from virtual tables store on the sqlite3_vtab->zErrMsg field are reported back up to the application interface and memory is reclaimed. (CVS 5466) (check-in: 4a9dd5e7 user: drh tags: trunk)
20:28
Remove stray breakpoints from test scripts. (CVS 5465) (check-in: cb5e75df user: drh tags: trunk)
18:25
Clarify in the documentation that the database connection pointer to sqlite3_next_stmt() must not be NULL. Ticket #3244. (CVS 5464) (check-in: a7d64e86 user: drh tags: trunk)
18:17
Read the sqlite3_vtab.zErrMsg after each call to a virtual table method and transfer any error into the database connection. Fix the fts2.test and fts3.test scripts to that they return silently rather than failing the test sequence if the appropriate FTS implementation is unavailable. (CVS 5463) (check-in: e2c6771d user: drh tags: trunk)
15:40
Update requirements derivation information in sqlite.h.in. (CVS 5462) (check-in: d6202907 user: drh tags: trunk)
13:42
Quick typo fix. No changes to code. (CVS 5461) (check-in: dfa8b456 user: mihailim tags: trunk)
00:52
Documentation updates. (CVS 5460) (check-in: fe8e9f53 user: drh tags: trunk)
2008-07-22
23:54
Be a bit more susicious of invalid results from the tokenizer. Backports check-in (4514) from fts3. (CVS 5459) (check-in: 311aeb9c user: shess tags: trunk)
23:49
Implement optimize() function. Backports check-in (5417) from fts3. (CVS 5458) (check-in: c16900dc user: shess tags: trunk)
23:41
Delete all fts2 index data the table becomes empty. Backports check-in (5413) from fts3. (CVS 5457) (check-in: 4c98179b user: shess tags: trunk)
23:32
fts2 functions for testing scripts. Backports (5340) from fts3. (CVS 5456) (check-in: 4e47394b user: shess tags: trunk)
23:08
Change prefix search from O(N*M) to O(NlogM). Backports (4599) from fts3. (CVS 5455) (check-in: 3f614453 user: shess tags: trunk)
22:57
Changes fts2 to use only sqlite3_malloc() and not system malloc. Backports (4554) and (4555) from fts3. (CVS 5454) (check-in: ecf2dec6 user: shess tags: trunk)
22:20
fts2.c buildTerms() passes -1 for nInput. Backports (4511) from fts3. (CVS 5453) (check-in: d562515e user: shess tags: trunk)
22:15
Cleanup the hash functions in FTS2. Backports (4440) from fts3. (CVS 5452) (check-in: e31d2f87 user: shess tags: trunk)
18:45
Documentation updates. No changes to code. (CVS 5451) (check-in: e58b4977 user: drh tags: trunk)
05:32
winGetLastError support added. Consolidated getLastErrorMsg() support. Removed some more WINCE dead code similar to instance in ticket #3232. Added error return on SystemTimeToFileTime() failure. (CVS 5450) (check-in: c0a5cf38 user: shane tags: trunk)
05:18
Changed a few loop counters to unsigned ints to remove compiler warnings. (CVS 5449) (check-in: 16f51f9b user: shane tags: trunk)
05:15
Added comment on floating point precision compile option for MSVC. (CVS 5448) (check-in: e20f2b8c user: shane tags: trunk)
05:13
Add assertion check for NaN support at startup. (CVS 5447) (check-in: 8474cde3 user: shane tags: trunk)
05:05
"configure" support updated. Removed unused features. Added parsing of CFLAGS and CPPFLAGS to extract OMIT options to pass to lemon and mkkeywordhash. (CVS 5446) (check-in: c67aa505 user: shane tags: trunk)
05:00
flattenSubquery() needed if either SQLITE_OMIT_SUBQUERY or SQLITE_OMIT_VIEW not defined. (CVS 5445) (check-in: 1ffe7a99 user: shane tags: trunk)
2008-07-19
14:25
Reduce the number of "#ifndef SQLITE_OMIT_AUTOVACUUM" conditions in btree.c by using the ISAUTOVACUUM macro instead. (CVS 5444) (check-in: a560c618 user: danielk1977 tags: trunk)
13:43
To ensure SQLITE_THREADSAFE is always defined, have test_mutex.c include sqliteInt.h. (CVS 5443) (check-in: d8be91e2 user: danielk1977 tags: trunk)
11:49
Improve the performance of balance_nonroot() on auto-vacuum databases by reducing the number of calls to ptrmapPut(). (CVS 5442) (check-in: 9992b1ae user: danielk1977 tags: trunk)
2008-07-18
23:47
Remove dead code from os_win.c. Ticket #3232. (CVS 5441) (check-in: 5c5c1f72 user: drh tags: trunk)
18:56
Use the actual size of memory allocations to update the memory status counters. Fix the roundup() function of mem3 to be much closer to the actual allocation size. Ticket #3226. (CVS 5440) (check-in: 5c22132e user: drh tags: trunk)
17:16
Fix SQLITE_OMIT_AUTOVACUUM so that it works again. Ticket #3228. (CVS 5439) (check-in: 3b2dd417 user: drh tags: trunk)
17:03
Make sure expression spans are set correctly for "x.*" expressions in the result set of a SELECT. Ticket #3229. (CVS 5438) (check-in: 17a9984e user: drh tags: trunk)
09:34
Performance improvement: reduce the number of calls to ptrmapPageno() made by ptrmapPut() and ptrmapGet(). (CVS 5437) (check-in: d807fb27 user: danielk1977 tags: trunk)
08:10
Speed up sqlite3_finalize() by removing redundant code. (CVS 5436) (check-in: c94318b9 user: danielk1977 tags: trunk)
05:36
Init zFullCp to prevent crashes in case DosQueryPathInfo() fails. (CVS 5435) (check-in: 70685b2a user: pweilbacher tags: trunk)
03:32
The zeroPage() routine in btree.c need not actually zero the whole page, just the header. (CVS 5434) (check-in: c69633ec user: drh tags: trunk)
02:44
Omit the check for cell-pointer consistency in sqlite3BtreeInitPage() for a 2.5% performance gain. (CVS 5433) (check-in: b88087e6 user: drh tags: trunk)
00:57
Optimization to sqltie3BtreeParseCellPtr. 0.3% performance increase. (CVS 5432) (check-in: 77e099ad user: drh tags: trunk)
2008-07-17
18:39
Simplify the b-tree logic by taking advantage of the fact that all b-trees are either intkey+leafdata or zerodata. (CVS 5431) (check-in: 29d3bfd7 user: drh tags: trunk)
17:34
Fix the test harness so that it does not try to link against sqlite3_mutex_alloc() if compiled with -DSQLITE_THREADSAFE=0. (CVS 5430) (check-in: 26a203d8 user: drh tags: trunk)
2008-07-16
19:30
Get rid of the debug output, and make pre-C99 compilers happy with sqlite3_os_init() on OS/2. (CVS 5429) (check-in: 08fe49f6 user: pweilbacher tags: trunk)
18:35
Make sure the auxiliary database connection is closed after every test. (CVS 5428) (check-in: e60bb6a1 user: drh tags: trunk)
18:20
More improvements to the 64-bit integer conversion testing in func.test. (CVS 5427) (check-in: 632bb3c7 user: drh tags: trunk)
18:17
Eliminate some unnecessary IO during a commit in full auto-vacuum mode. (CVS 5426) (check-in: 1d01c02a user: danielk1977 tags: trunk)
18:04
Fix a test in func.test so that it works on machines that lack long double. (CVS 5425) (check-in: 8686959d user: drh tags: trunk)
14:44
Version 3.6.0 (CVS 5423) (check-in: 1841aee6 user: drh tags: trunk, release)
14:43
Allow the r-tree extension to be compiled as part of the amalgamation. (CVS 5424) (check-in: 5c26f63e user: drh tags: trunk)
14:02
Fix a bug in the error reporting of sqlite3_table_column_metadata(). (CVS 5422) (check-in: 7eba18c3 user: drh tags: trunk)
13:29
Update the "experimental" markings on C/C++ interfaces. (CVS 5421) (check-in: 96e95aa5 user: drh tags: trunk)
12:33
Fix a bug in the HOMEGROWN_RECURSIVE_MUTEX implementation for unix. Ticket #3224. (CVS 5420) (check-in: 9af2514c user: drh tags: trunk)
12:25
Activate testing of mem3 and mem5. Fix problems found. Tickets #3223 and #3225. Other test configuration changes. (CVS 5419) (check-in: a3a78205 user: drh tags: trunk)
2008-07-15
22:59
Work around bugs in older versions of the OS/2 conversion library by trying to minimize calls to UniCreateUconvObject() etc. Use global uconv objects instead. (CVS 5418) (check-in: 80e42183 user: pweilbacher tags: trunk)
21:32
Implement optimize() function. This merges all segments in the fts index into a single segment, including dropping delete cookies. (CVS 5417) (check-in: b22e187b user: shess tags: trunk)
20:56
Update column naming rules. Ticket #3221. Rules for column naming are still subject to change (except for the AS rule which we promise to keep the same) but are more consistent now. And the rules are tested using a new test script. (CVS 5416) (check-in: 61f6e197 user: drh tags: trunk)
14:47
Continuing work on improved test coverage. (CVS 5415) (check-in: c942a38e user: drh tags: trunk)
00:27
Increased test coverage. (CVS 5414) (check-in: 7cf91e08 user: drh tags: trunk)
2008-07-14
20:43
Delete all fts3 index data the table becomes empty. Previously, deleting all rows from an fts3 table would leave a bunch of index data describing the terms of the original data, plus deletions of those terms, perhaps with some amount of it merged together so the deletions knocked out the originals. Even when all rows were deleted that original data would hang out, though eventually it would mostly be overwritten if new data contained the same set of terms. (CVS 5413) (check-in: 8b872e42 user: shess tags: trunk)
19:39
Add a new test script to exercise the deadlock avoidance code in the btree mutex logic. (CVS 5412) (check-in: 7d5e1c43 user: drh tags: trunk)
18:38
Fix a typo in the documentation. Ticket #3219. (CVS 5411) (check-in: 3dc72a46 user: drh tags: trunk)
15:37
Have the rtree extension publish two virtual table types: "rtree" and "rtree_i32". rtree_i32 stores coordinate data as 32-bit signed integers. rtree uses 32-bit real (floating point) values. (CVS 5410) (check-in: c060a9a6 user: danielk1977 tags: trunk)
15:11
Remove the malloc2.test script since it was designed for use in versions of SQLite that predate SQLite's ability to recover from out-of-memory errors automatically. Removing this script causes no reduction in test coverage and removes potential problems reported by ticket #3213. (CVS 5409) (check-in: 5bfc9625 user: drh tags: trunk)
12:52
Write sqlite3_initialize() calls in sqlite3_malloc() within SQLITE_OMIT_AUTOINIT. Ticket #3217. (CVS 5408) (check-in: 4961b0bb user: drh tags: trunk)
12:38
Fix a bug introduced by check-in (5406). Ticket #3216. (CVS 5407) (check-in: 518a24aa user: drh tags: trunk)
12:30
Work around a bug in Borland C. Ticket #3216. (CVS 5406) (check-in: 2c24e50d user: drh tags: trunk)
12:27
Fix additional typos in comments within lemon. Ticket #3215. (CVS 5405) (check-in: 37214769 user: drh tags: trunk)
12:21
Fix a bug in the #line generator of lemon. Ticket #3214. (CVS 5404) (check-in: dc697c26 user: drh tags: trunk)
2008-07-13
03:55
Fix a typo in the documentation. (CVS 5403) (check-in: d618a883 user: drh tags: trunk)
2008-07-12
20:35
Documentation updates. No changes to code. (CVS 5402) (check-in: 8be28aa0 user: drh tags: trunk)
15:55
Fix the test script --binarylog option. (CVS 5401) (check-in: 03e3cfc4 user: danielk1977 tags: trunk)
14:52
Remove leftover debugging commands (breakpoint and btree_breakpoint) from test scripts. (CVS 5400) (check-in: dcb16024 user: drh tags: trunk)
2008-07-11
21:02
Detect and handles the case where a row is modified or deleted while it is being read during SELECT processing. (CVS 5399) (check-in: c80a5d09 user: drh tags: trunk)
17:23
Tweak to the ".timer" command in the CLI to help it work better with GCC. (CVS 5398) (check-in: 1041deb6 user: drh tags: trunk)
16:39
Added corruptA.test for testing malformed database headers. (CVS 5397) (check-in: 6dcce6b9 user: drh tags: trunk)
16:19
Improved NaN testing for highly optimized GCC on x86. Tickets #3202 and #3194. (CVS 5396) (check-in: a8a2fe45 user: drh tags: trunk)
16:15
Additional test coverage for the btree module. Remove the failsafe() macro and replace it with ALWAYS() and NEVER(). (CVS 5395) (check-in: d7e2f0d2 user: drh tags: trunk)
13:53
Fix minor problems in the test scripts and harness. (CVS 5394) (check-in: c9ffbfe3 user: drh tags: trunk)
03:38
Remove an extra zeroPage() call that was left in the previous check-in by mistake. Ticket #3209. (CVS 5393) (check-in: c45d578e user: drh tags: trunk)
03:34
Make the btree layer robust when faced with a corrupt database that contains duplicate entries on the freelist. Ticket #3209. (CVS 5392) (check-in: 30825f74 user: drh tags: trunk)
02:21
Additional test coverage in btree.c. Added corruption tests for the ptrmap pages of an autovacuumed database (corrupt8.test). (CVS 5391) (check-in: 620b4721 user: drh tags: trunk)
2008-07-10
20:41
Fix a bug in the mutex-testing logic introduced by check-in (5389). (CVS 5390) (check-in: 8fc462b6 user: drh tags: trunk)
18:13
Enhancements to the testing logic for malloc and mutex. Only permit one of MEMSYS3/5 to be compiled-in at a time. Omit the SQLITE_CONFIG_MEMSYS3/5 configuration options. (CVS 5389) (check-in: ed8b2525 user: drh tags: trunk)
17:59
Fix a crash in flattenSubquery(). (CVS 5388) (check-in: 9c8b97ef user: danielk1977 tags: trunk)
17:52
Add the SQLITE_OPEN_NOMUTEX flag. Used for opening connections that are not protected by an internal mutex. (CVS 5387) (check-in: 7e58b787 user: danielk1977 tags: trunk)
00:32
Remove unused code. Test coverage enhancements. Modify the algorithm used to select column names for VIEWs of joins so that the constructed column names omits the underlying table names. (CVS 5386) (check-in: 636cd723 user: drh tags: trunk)
2008-07-09
16:51
Test coverage improvements on printf. (CVS 5385) (check-in: 2d8f7beb user: drh tags: trunk)
14:47
Add a test case to join.test. No code changes, no bugs found. (CVS 5384) (check-in: 417aa158 user: danielk1977 tags: trunk)
13:28
Begin adding the failsafe() macro. (CVS 5383) (check-in: 8aae4fe7 user: drh tags: trunk)
11:49
Coverage testing for balance_quick() and balance_deeper(). (CVS 5382) (check-in: 491f8f96 user: danielk1977 tags: trunk)
01:39
Additional test coverage in select.c and expr.c. (CVS 5381) (check-in: c6cf0847 user: drh tags: trunk)
2008-07-08
23:40
Remove obsolete code from select.c, including the "affinity" parameter to the sqlite3Select() module. (CVS 5380) (check-in: cbd3c158 user: drh tags: trunk)
22:34
Handle sqlite3_temp_directory on OS/2. (CVS 5379) (check-in: 9da0b32c user: pweilbacher tags: trunk)
22:28
Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) (check-in: 6cdb6841 user: shane tags: trunk)
22:15
Added test_mutex.c (for testfixture) to input file for configure script. (CVS 5377) (check-in: bfca089d user: shane tags: trunk)
19:46
make OS/2 VFS functions static (CVS 5376) (check-in: b40d9496 user: pweilbacher tags: trunk)
19:45
Fix a bug in where.c introduced by check-in (5373). (CVS 5375) (check-in: 1ed98f9e user: drh tags: trunk)
19:34
Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) (check-in: 8ed04b1e user: drh tags: trunk)
18:05
Improved testing of the min/max optimization. (CVS 5373) (check-in: fa07c360 user: drh tags: trunk)
17:43
Prevent the flattening optimization from transforming a to a query with an illegal ORDER BY clause. (CVS 5372) (check-in: 6c2adade user: danielk1977 tags: trunk)
17:13
Test another corruption case in btree.c. And an IO error related scenario. (CVS 5371) (check-in: d74fbb81 user: danielk1977 tags: trunk)
15:59
3 more coverage tests for btree.c. (CVS 5370) (check-in: 96df0a5f user: danielk1977 tags: trunk)
15:26
Tests for SQLITE_LIMIT_LENGTH enforcement in sqlite3_bind. (CVS 5369) (check-in: c5e45dd6 user: drh tags: trunk)
14:52
Improved enforcement of the SQLITE_LIMIT_LENGTH limit. (CVS 5368) (check-in: ee931508 user: drh tags: trunk)
14:31
Another corruption related test case. (CVS 5367) (check-in: f781a681 user: danielk1977 tags: trunk)
14:17
Fix a compilation bug with SQLITE_OMIT_AUTOINIT. (CVS 5366) (check-in: 94c95fad user: danielk1977 tags: trunk)
12:07
Extra coverage tests for btree.c. (CVS 5365) (check-in: 08334f60 user: danielk1977 tags: trunk)
12:02
Make sqlite3_shutdown() a no-op if the library is not initialized. (CVS 5364) (check-in: d725d3bb user: danielk1977 tags: trunk)
10:19
Improve coverage of btree.c. (CVS 5363) (check-in: f6d9cb83 user: danielk1977 tags: trunk)
07:35
Prohibit the user from changing the temporary storage medium (pragma temp_store) while there is a read transaction open on the temporary database. Add tests to shared.test to cover a few more lines in btree.c. (CVS 5362) (check-in: 92e0cf9a user: danielk1977 tags: trunk)
03:04
change to use sqlite_uint64 for MSVC compile; (CVS 5361) (check-in: 369118ca user: shane tags: trunk)
02:24
Test coverage improvements in printf.c. (CVS 5360) (check-in: 6f2629c7 user: drh tags: trunk)
02:12
Add tests to verify correct behavior when mutex initialization fails. (CVS 5359) (check-in: 65875005 user: drh tags: trunk)
00:06
Testing coverage enhancements. (CVS 5358) (check-in: fe80aa58 user: drh tags: trunk)
2008-07-07
19:52
Make check-in (5356) compatible with builds that do not enable memory management. Remove unnecessary code from main.c. Add out-of-memory tests for sqlite3_complete16(). (CVS 5357) (check-in: 28f8b6bf user: drh tags: trunk)
18:42
Fix an error introduced by (5346). The list could become corrupted when the database was truncated. (CVS 5356) (check-in: fbd320ed user: danielk1977 tags: trunk)
17:55
Fix a problem in shared_err.test preventing it from running properly and add a test to corrupt2.test to cover another corruption detection case. (CVS 5355) (check-in: 2dcd5287 user: danielk1977 tags: trunk)
17:53
When sqlite3_create_collation is called with an invalid encoding, return SQLITE_MISUSE. (CVS 5354) (check-in: eae4105d user: drh tags: trunk)
17:13
Fix an error checked in as part of (5350). (CVS 5353) (check-in: acfb2b41 user: danielk1977 tags: trunk)
17:04
Another test case to test a specific kind of database corruption. (CVS 5352) (check-in: 38e04d67 user: danielk1977 tags: trunk)
15:39
Add a test case to test corruption discovered as part of the ptrmapPut() routine. (CVS 5351) (check-in: cbb9536f user: danielk1977 tags: trunk)
14:56
Test a couple of specific malloc() failures that were not tested before. (CVS 5350) (check-in: b96bcaa1 user: danielk1977 tags: trunk)
14:50
Additional test cases added on the sqlite3_create_function() interface. (CVS 5349) (check-in: 4e941f3d user: drh tags: trunk)
13:31
Add the vfs_unregister_all and vfs_reregister_all test commands. Use them to test the sqlite3_sleep() interface when no VFSes are registered. (CVS 5348) (check-in: 024d4392 user: drh tags: trunk)
12:44
Fix a comment in alter.c. No changes to code. (CVS 5347) (check-in: 3e558acd user: drh tags: trunk)
11:18
Make the Pager.pAll linked-list doubly linked when ENABLE_MEMORY_MANAGEMENT is defined. This is used to speed up sqlite3_release_memory(). (CVS 5346) (check-in: 71d699de user: danielk1977 tags: trunk)
2008-07-06
00:21
Fail to build if the -ffast-math option is specified in GCC. Ticket #3202. (CVS 5345) (check-in: aa5be9ee user: drh tags: trunk)
2008-07-04
17:52
Fix a bug in btree.c that caused it to report a database as being corrupt if it used one of the last 6 slots in a freelist trunk page. Continue to never use those last 6 slots so that databases from newer versions are still readable with older versions. (CVS 5344) (check-in: b8ff6b0a user: drh tags: trunk)
10:56
Fix for explicitly inserting a NULL value into the rowid column of a virtual table. (CVS 5343) (check-in: a7f3b431 user: danielk1977 tags: trunk)
09:41
Remove redundant code from sqlite3GetTempReg(). (CVS 5342) (check-in: 212d05d3 user: danielk1977 tags: trunk)
09:15
Remove references to temporary registers from the compiler column-cache when such registers are released. Fix for #3201. (CVS 5341) (check-in: f099d677 user: danielk1977 tags: trunk)
2008-07-03
19:53
fts3 functions for testing scripts. These are a first step towards being able to write test script which verify that fts3 is internally building indices in the expected way. Both new functions are only defined if fts3.c is compiled with SQLITE_TEST defined, as when building testfixture. These functions are not intended to be part of the exposed fts3 API.

dump_terms() generates a TEXT result of all the terms in the index (or a specified segment), sorted and joined with spaces.

dump_doclist() generates a TEXT representation of the doclist associated with a given term in the index (or a specified segment). (CVS 5340) (check-in: a48e3d95 user: shess tags: trunk)

2008-07-02
16:10
Fix a memory leak that can occur following a malloc failure. (CVS 5339) (check-in: cec4eba1 user: danielk1977 tags: trunk)
13:13
Call the authorizer callback the same number of times whether or not the query flattening occurs. (CVS 5338) (check-in: 8b88b64b user: danielk1977 tags: trunk)
2008-07-01
18:26
Fix errors in in.test. Also add a few tests to selectB.test. (CVS 5337) (check-in: 8f9d1abb user: danielk1977 tags: trunk)
17:39
Fix another memory leak related to UNION ALL and sub-selects. (CVS 5336) (check-in: 56109b9a user: danielk1977 tags: trunk)
17:13
In lemon: coalesce identical destructors. (CVS 5335) (check-in: 3447086c user: drh tags: trunk)
16:34
In Lemon, if a non-terminal has the same type as a terminal, then reuse the terminal type in the YYMINORTYPE union for the non-terminal. This gives better table compression. (CVS 5334) (check-in: 5c9cc22c user: drh tags: trunk)
16:05
Fix a memory leak to do with the recent UNION ALL sub-select optimization. (CVS 5333) (check-in: 6ee71f4d user: danielk1977 tags: trunk)
14:39
Fix a problem with LIMIT and OFFSET clauses on the parent query when optimizing a UNION ALL sub-select. (CVS 5332) (check-in: a79786a9 user: danielk1977 tags: trunk)
14:09
Optimize sub-selects and views that use UNION ALL. This optimization isn't very well tested yet. (CVS 5331) (check-in: 3ef468e7 user: danielk1977 tags: trunk)
2008-06-30
18:12
Call the query flattener while processing the parent query. Previously, it was called while processing the sub-queries. (CVS 5330) (check-in: 6fcb3bff user: danielk1977 tags: trunk)
15:09
Changes to loadext.test so that it works on osx as well as linux. (CVS 5329) (check-in: 189cd854 user: danielk1977 tags: trunk)
10:16
Fix a malloc() failure related problem in os_unix.c. (CVS 5328) (check-in: ba8819a6 user: danielk1977 tags: trunk)
07:53
Add a couple of tests to see if the new compound select optimizations work when the compound select is hidden inside a view. (CVS 5327) (check-in: 1a711249 user: danielk1977 tags: trunk)
2008-06-28
15:33
Remove an assert() that was failing if there were any open incremental blob handles when a statement transaction was rolled back. (CVS 5326) (check-in: f66491ab user: danielk1977 tags: trunk)
11:29
Added reminder message to terminate SQL statements with a semicolon on shell startup. This closes #3099. (CVS 5325) (check-in: 0ab0b030 user: mihailim tags: trunk)
11:23
Rearrange some ENABLE_LOCKING_STYLE related code in os_unix.c. (CVS 5324) (check-in: f70d552b user: danielk1977 tags: trunk)
2008-06-27
18:59
Changed copy-paste error in comment. Fixes #3193. (CVS 5323) (check-in: 00eee53e user: mihailim tags: trunk)
14:51
Documentation tweaks. (CVS 5322) (check-in: fcbd3934 user: drh tags: trunk)
14:05
Fix mem3.c (broken by (5320)). (CVS 5321) (check-in: fef90a21 user: danielk1977 tags: trunk)
13:27
Change mem5.c so that the minimum allocation size is runtime configurable. (CVS 5320) (check-in: 4f95f4cd user: danielk1977 tags: trunk)
00:52
Remove unused variable. Fix a compiler warning. (CVS 5319) (check-in: 0b01ec5c user: drh tags: trunk)
00:47
Tweaks to the IN expression code generator. Fix an an unrelated bug in the compound SELECT code generator. (CVS 5318) (check-in: a4005782 user: drh tags: trunk)
2008-06-26
21:45
Fix a bug introduced by check-in (5316). Add some VDBE comments to the IN expression code generator. (CVS 5317) (check-in: 1043a605 user: drh tags: trunk)
20:06
Avoid generating unnecessary SCopy instructions with the RHS of an IN operator is a list of values. (CVS 5316) (check-in: ec80474b user: drh tags: trunk)
18:16
Documentation updates in sqlite.h.in. No changes to code. (CVS 5315) (check-in: 168fd6f8 user: drh tags: trunk)
18:04
Fix handling of "x IN (...)" and "x NOT IN (...)" expressions when the set contains an SQL NULL value. (CVS 5314) (check-in: d45a97be user: danielk1977 tags: trunk)
15:04
Document the rules for when an sqlite3_blob object expires. (CVS 5313) (check-in: e1de2287 user: drh tags: trunk)
10:54
Change the TEMP_STORE preprocessor symbol to SQLITE_TEMP_STORE. (CVS 5312) (check-in: 1e3b8308 user: danielk1977 tags: trunk)
10:41
Change the OS_XXX pre-processor symbols to SQLITE_OS_XXX. Symbols "OS_UNIX", "OS_WIN", "OS_WINCE", "OS_OS2" and "OS_OTHER" are now "SQLITE_OS_UNIX", "SQLITE_OS_WIN", "SQLITE_OS_WINCE", "SQLITE_OS_OS2" and "SQLITE_OS_OTHER", respectively. (CVS 5311) (check-in: cdd4cf4c user: danielk1977 tags: trunk)
08:29
Fix a race condition in sqlite3_initialize(). (CVS 5310) (check-in: 70b2ed2a user: danielk1977 tags: trunk)
02:53
Documentation updates. No changes to code. (CVS 5309) (check-in: cdc4e75a user: drh tags: trunk)
2008-06-25
17:54
Change the makefiles so that "make test" now runs the veryquick.test script instead of quick.test. Also modify veryquick.test to reuse the code in quick.test. veryquick.test is now the same as quick.test except that it omits all testing related to malloc and IO error simulation. (CVS 5308) (check-in: 8c65146e user: danielk1977 tags: trunk)
17:19
Remove internal function sqlite3OsDefaultVfs(). The built-in VFS layers now register their VFS implementations by calling sqlite3_vfs_register() from within sqlite3_os_init(). (CVS 5307) (check-in: 8fa33b79 user: danielk1977 tags: trunk)
14:57
Have mem3.c and mem5.c grab a mutex when required. Include them both in the amalgamation again. (CVS 5306) (check-in: 9e3c95ff user: danielk1977 tags: trunk)
14:31
Test enhancements, especially to the new compound-SELECT merge logic. (CVS 5305) (check-in: edf7f518 user: drh tags: trunk)
14:26
Fix the allocator in mem5.c so that it can be enabled at run time using the sqlite3_config() function. (CVS 5304) (check-in: 30ff6bb0 user: danielk1977 tags: trunk)
10:34
Fix up some details to do with the mem3.c (memsys3) allocator. If the library is compiled with SQLITE_ENABLE_MEMSYS3, the memsys3 allocator can be selected at runtime. (CVS 5303) (check-in: 9c6c8e01 user: danielk1977 tags: trunk)
08:02
Fixed typo to close #1731. (CVS 5302) (check-in: 9902be8d user: mihailim tags: trunk)
02:47
If a unique index covers any prefix of the ORDER BY clause then let it satisfy the ORDER BY clause. (CVS 5301) (check-in: e53403b6 user: drh tags: trunk)
02:22
Add new test script for compound select statements. (CVS 5300) (check-in: a193b161 user: drh tags: trunk)
00:12
The compound-select merge optimization passes quick.test with no errors. (CVS 5299) (check-in: 8bbfa978 user: drh tags: trunk)
2008-06-24
22:50
OS/2 fixes for pre-C99 compilers and a return code correction in os2Access(). (CVS 5298) (check-in: 3241a3bd user: pweilbacher tags: trunk)
19:02
Modify the memory allocation system in mem3.c so to fit in with the new sqlite3_mem_methods scheme. At this point it only "mostly" works. (CVS 5297) (check-in: 3febef54 user: danielk1977 tags: trunk)
15:39
Add a few extra tests to select9.test. (CVS 5296) (check-in: 37b084fd user: danielk1977 tags: trunk)
12:46
Fix a problem in sqlite3ExprIsInteger() causing failures on select1-4.9.2. Other bug fixes in compound-merge. The compound-merge is still disabled in this check-in using "#if 0" due to additional bugs. (CVS 5295) (check-in: 95037e6d user: drh tags: trunk)
12:28
Remove a surplus "breakpoint" from select4.test. (CVS 5294) (check-in: 3117238c user: drh tags: trunk)
11:21
Add start of new test file "select9.test". To test LIMIT, OFFSET and ORDER BY on compound SELECT statements. (CVS 5293) (check-in: 3a13e943 user: danielk1977 tags: trunk)
09:52
Fix a typo in the documentation for the sqlite3_bind_XXX() APIs. (CVS 5292) (check-in: 839457f1 user: danielk1977 tags: trunk)
00:32
The compound-select merge optimization is mostly working with this check-in. But there are still a few problems and so the optimization is disabled by and "#if 0". This check-in is to synchronize with the other changes happening in parallel. (CVS 5291) (check-in: e2ba324c user: drh tags: trunk)
2008-06-23
22:13
Update OS/2 mutex implementation: make methods static and don't use them by the old names any more. Held/Notheld should be debug only. (CVS 5290) (check-in: d92418ca user: pweilbacher tags: trunk)
21:26
Reverted previous checkin (on second thought, changing case could break badly written homegrown parsers such as sometimes encountered in embedded firmware.) (CVS 5289) (check-in: bf2e283d user: mihailim tags: trunk)
21:18
Changed HTML mode output to use lowercase tags making good on the XHTML output promise (the DTDs indeed mandate lowercase) and closing #450. (CVS 5288) (check-in: e07ed82c user: mihailim tags: trunk)
20:55
Added ldconfig invocations for postinstall and postuninstall. Updated package URL and description to match the current website. (CVS 5287) (check-in: 66529ae3 user: mihailim tags: trunk)
18:49
Fix a bug in handling queries on the sqlite_master table with an empty (0 bytes in size) database file. (CVS 5286) (check-in: f8238770 user: danielk1977 tags: trunk)
17:56
Additional tests added to capi3.test. (CVS 5285) (check-in: 1fdab2c6 user: drh tags: trunk)
17:44
Fix a failure to report a failed malloc() within sqlite3_create_module(). (CVS 5284) (check-in: 3ca7dab8 user: danielk1977 tags: trunk)
16:53
Fix a bug causing the pager-cache size to be reset to its default value whenever the database schema was reloaded. (CVS 5283) (check-in: 6dbe67da user: danielk1977 tags: trunk)
15:55
Run (a subset of) the rtree tests from quick.test. (CVS 5282) (check-in: e872c78c user: danielk1977 tags: trunk)
15:10
Handle a real system malloc() failure in mem1.c. (CVS 5281) (check-in: 006fd69b user: danielk1977 tags: trunk)
14:40
Remove a non-ansi construct from mem1.c - an assert() statement before the variable declarations in a function. (CVS 5280) (check-in: 1de98da6 user: danielk1977 tags: trunk)
14:15
Avoid passing "void(*)(void)" as an argument to va_arg(). Codewarrior doesn't like it. (CVS 5279) (check-in: edae76d6 user: danielk1977 tags: trunk)
14:03
Fix some codewarrior compilation problems. (CVS 5278) (check-in: e6ea8f87 user: danielk1977 tags: trunk)
13:57
Fix a compilation problem with SQLITE_OMIT_VIRTUAL_TABLE is defined. (CVS 5277) (check-in: 0421c099 user: danielk1977 tags: trunk)
11:23
Fixed wrong type in sqlite3_create_collation16 declaration and definition (UTF-16 string had been passed as const char* instead of const void*) (CVS 5276) (check-in: 4215e3e5 user: mihailim tags: trunk)
11:11
Correct comments above sqlite3_release_memory() and sqlite3_soft_heap_limit(). Ticket #3138. (CVS 5275) (check-in: 32404468 user: danielk1977 tags: trunk)
09:50
Fix a bug whereby opening a connection to an existing shared-cache caused the cache-size (the value configured by "PRAGMA cache_size") to revert to its default value. (CVS 5274) (check-in: 0492aa8e user: danielk1977 tags: trunk)
2008-06-22
16:35
Removed INVARIANTS sections in the experimental extension loading API that I should not have added in the first place. No changes to code. (CVS 5273) (check-in: e7610890 user: mihailim tags: trunk)
12:37
Fix a bug in the KEYINFO handling within select.c. Change the OP_Move opcode to take a count and to move multiple registers. Initial code for the compound-select merge optimization is added but is incomplete and is commented out. (CVS 5272) (check-in: 663a590e user: drh tags: trunk)
10:21
Readded erroneously deleted {END} tag and doublechecked {(F,U,X)*}-{END} tag balancing. Minor documentation cleanup. No changes to code. (CVS 5271) (check-in: b5559050 user: mihailim tags: trunk)
09:55
More documentation spellcheck and cleanup. No changes to code. (CVS 5270) (check-in: 3a88e3de user: mihailim tags: trunk)
08:58
More documentation spellcheck and cleanup. No changes to code. (CVS 5269) (check-in: d96b9bcd user: mihailim tags: trunk)
2008-06-21
20:11
More documentation spellcheck and cleanup. No changes to code. (CVS 5268) (check-in: 65edead1 user: mihailim tags: trunk)
19:20
Prevent veryquick.test and all.test from running permutations.test directly. (CVS 5267) (check-in: ae9e4c0e user: danielk1977 tags: trunk)
19:10
Fix a bug in permutations.test causing the utf-16 tests to fail. (CVS 5266) (check-in: 710621f3 user: danielk1977 tags: trunk)
18:07
Add test file permutations.test, which runs various other test files with sqlite configured in various ways. This adds a few new tests and replaces test files autovacuum_crash.test, autovacuum_ioerr.test, exclusive3.test, jrnlmode2.test, jrnlmode3.test, jrnlmode4.test, mutex2 and onefile.test. (CVS 5265) (check-in: 0e9df350 user: danielk1977 tags: trunk)
18:02
More documentation spellcheck and cleanup. No changes to code. (CVS 5264) (check-in: 9ae03f56 user: mihailim tags: trunk)
16:47
More documentation spellcheck and cleanup. No changes to code. (CVS 5263) (check-in: 3edfc64f user: mihailim tags: trunk)
13:35
More documentation spellcheck and cleanup. No changes to code. (CVS 5262) (check-in: 47b7b05e user: mihailim tags: trunk)
12:15
Remove mutex2.test. It will be replaced later today by permutations.test. (CVS 5261) (check-in: 98a6a0a3 user: danielk1977 tags: trunk)
11:20
More documentation spellcheck and cleanup. No changes to code. (CVS 5260) (check-in: 8c457fb0 user: mihailim tags: trunk)
08:12
Fix a problem in the test suite that could cause a crash if using a pre-allocated block of memory for pages (the problem was that sqlite3_shutdown() was being called while there were still open database connections). (CVS 5259) (check-in: 3d413e9b user: danielk1977 tags: trunk)
06:16
Documentation spellcheck and cleanup. No changes to code. (CVS 5258) (check-in: 2904d26b user: mihailim tags: trunk)
2008-06-20
18:13
Add new Compare and Jump codes to the virtual machine. Use them in the implementation of aggregate queries. (CVS 5257) (check-in: 08311365 user: drh tags: trunk)
17:51
Add a test to check that opening a second connection to a shared cache does not reset the cache size to its default value. (CVS 5256) (check-in: 3546e245 user: danielk1977 tags: trunk)
15:24
Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in the INSERT processing logic. (CVS 5255) (check-in: 6b9d92fc user: drh tags: trunk)
14:59
Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254) (check-in: 56c8af14 user: danielk1977 tags: trunk)
11:05
Move (almost all) malloc failure test logic from fault.c to test_malloc.c. (CVS 5253) (check-in: 4ae21e34 user: danielk1977 tags: trunk)
00:03
Patch to memsubsys1.test in order to avoid a segfault in tableapi.test. (CVS 5252) (check-in: 62411a6e user: drh tags: trunk)
2008-06-19
18:39
Unset global TCL variables in the func.test script prior to use to avoid conflicts from other scripts. (CVS 5251) (check-in: 9b04e10f user: drh tags: trunk)
18:17
Move the malloc() failure simulation out of malloc.c and into a separate sqlite3_mem_methods interface. Still some related changes to come. (CVS 5250) (check-in: d22cd2a5 user: danielk1977 tags: trunk)
17:54
Documentation and test-script updates. (CVS 5249) (check-in: 68d4f795 user: drh tags: trunk)
16:07
Fix some minor compile problems. (CVS 5248) (check-in: 7d38da3e user: drh tags: trunk)
15:44
Additional test cases for loadable extensions. (CVS 5247) (check-in: 9d73a68c user: drh tags: trunk)
15:06
Add recent API additions to the loadable extension interface. (CVS 5246) (check-in: 12ba27d9 user: drh tags: trunk)
13:20
Check in the missing status.c source file. (CVS 5245) (check-in: 298113d4 user: drh tags: trunk)
08:51
Shuffle some of the mutex related documentation in sqlite.h.in to match the new sqlite3_mutex_methods based API. (CVS 5244) (check-in: 9cd7f866 user: danielk1977 tags: trunk)
02:52
Add the sqlite3_next_stmt() interface, including test cases. (CVS 5243) (check-in: 565a5308 user: drh tags: trunk)
01:50
Fix a bug in the noop-mutex implementation. (CVS 5242) (check-in: eec9a54d user: drh tags: trunk)
01:03
Bug fixes: Plug a memory leak introduced by the previous check-in. Get the amalgamation to the point where it will compile. (CVS 5241) (check-in: 005f8eae user: drh tags: trunk)
00:16
Add some test logic to the new memory allocation subsystem. (Lots more needed.) The test suite is currently indicating memory leaks, though it is unclear if this is a true code problem or just an instrumentation problem. (CVS 5240) (check-in: cb1f11cd user: drh tags: trunk)
2008-06-18
21:08
fix OS/2 files to compile again (looking at Windows equivalents for guidance) (CVS 5239) (check-in: 8b14a220 user: pweilbacher tags: trunk)
18:57
Remove public APIs sqlite3_mutex_init() and sqlite3_mutex_end(). This commit only changes the code, documentation is not updated yet. (CVS 5238) (check-in: 42a2a8f4 user: danielk1977 tags: trunk)
18:12
Added support for scratch-memory lookaside allocations. Largely untested. Added calls to sqlite3_initialize() within malloc APIs. (CVS 5237) (check-in: 383a7860 user: drh tags: trunk)
18:08
Add a call to sqlite3_initialize() to sqlite3_mutex_alloc() (CVS 5236) (check-in: 8b23b719 user: danielk1977 tags: trunk)
17:59
Fix a test case in mutex1.test that was failing when sqlite was compiled with SQLITE_THREADSAFE=0. (CVS 5235) (check-in: d1a87c3b user: danielk1977 tags: trunk)
17:09
Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) (check-in: 5059644c user: danielk1977 tags: trunk)
15:34
Make sure aggregate functions can take any number of arguments up to the limit imposed by SQLITE_LIMIT_FUNCTION_ARGS. Ticket #3179. Modify the group_concat() function to take an unlimited number of arguments in order to facilitate testing this behavior. (CVS 5233) (check-in: 70c6739f user: drh tags: trunk)
13:47
Add documentation on the sqlite3_mutex_methods object. (CVS 5232) (check-in: c3c7bfc9 user: drh tags: trunk)
13:27
Added new configuration options to query the low-level malloc interface and to provide memory buffers for scratch, page-cache, and heap memory allocators. (CVS 5231) (check-in: e36201a3 user: drh tags: trunk)
09:45
Add some test infrastructure and cases for the new mutex api. (CVS 5230) (check-in: 262baee9 user: danielk1977 tags: trunk)
02:01
Remove mem3.c and mem5.c from the amalgamation for the time being, since they do not currently work. We will add them back later once they are fixed. (CVS 5229) (check-in: 39b4e1ff user: drh tags: trunk)
2008-06-17
18:57
Add the SQLITE_CONFIG_MUTEX symbol for use with sqlite3_config(). (CVS 5228) (check-in: af1835bb user: danielk1977 tags: trunk)
17:21
Change the mutex interface to be pluggable. This is an incremental checkin, there are still changes to come. (CVS 5227) (check-in: 59728363 user: danielk1977 tags: trunk)
15:12
Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226) (check-in: 3e797d0f user: drh tags: trunk)
01:03
Do not allow a VACUUM to try to change the page_size on an encrypted database. (CVS 5225) (check-in: d49e5020 user: drh tags: trunk)
2008-06-16
20:51
Clean up obfuscated code in sqlite3_table_column_meta_data(). Be sure to invoke sqlite3_initialize() within sqlite3_mprintf(). (CVS 5224) (check-in: bb4edb53 user: drh tags: trunk)
14:36
Fix a recently introduced resource leak in test file incrblob2.test (forgot to close a blob handle). (CVS 5223) (check-in: 88e1c609 user: danielk1977 tags: trunk)
14:19
Fix a problem with the incremental blob API. sqlite3_blob_open() was always reading the data for the leftmost column of the row that the opened blob was stored in. If this column happened to contain a (the) large blob, sqlite would make a large memory allocation to read the data into. Which defeats the purpose of using incremental blobs. (CVS 5222) (check-in: 1b9478da user: danielk1977 tags: trunk)
06:31
Add a test to verify that IN(...) WHERE clause terms are not handled by virtual table implemetations. (CVS 5221) (check-in: 85483c8f user: danielk1977 tags: trunk)
2008-06-15
02:51
Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) (check-in: 65fe7b62 user: drh tags: trunk)
2008-06-14
16:56
Continuing progress on the new memory allocation subsystem. Added the sqlite3_mem_methods structure for defining new memory allocators at run-time. (CVS 5219) (check-in: f00305f4 user: drh tags: trunk)
2008-06-13
18:24
Progress toward implementation of sqlite3_config() and a rework of the mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218) (check-in: a03c5af1 user: drh tags: trunk)
2008-06-12
18:17
Enhance zeroblob tests to use the sqlite3_memory_highwater in order to double-check that no large allocations are occurring. (CVS 5217) (check-in: e93079be user: drh tags: trunk)
18:05
Fix a typo in the date/time function tests. Add additional cases to the zeroblob tests to make sure sqlite3_bind_zeroblob() does not use excess memory. (CVS 5216) (check-in: c1006fb1 user: drh tags: trunk)
16:35
Convert the date/time functions to work with milliseconds since the julian epoch internally (instead of days since the epoch) in order to avoid problems with floating-point roundoff error. The interface is unchanged. (CVS 5215) (check-in: ed35f8a9 user: drh tags: trunk)
14:42
Add another test to incrblob2.test. This test failed to reveal any new bugs. (CVS 5214) (check-in: 20d8ea45 user: danielk1977 tags: trunk)
13:50
Avoid unnecessary float->text->float conversions in date/time processing. This change necessary to reproduce the problem reported by BareFoot. (CVS 5213) (check-in: 6ec4d765 user: drh tags: trunk)
12:51
Add the ability to disable the "localtime" modifier in the date/time functions. This might be necessary for systems that do not support localtime_r() or localtime_s(). (CVS 5212) (check-in: 12f3ba11 user: drh tags: trunk)
12:40
Remove obsolete code from the test_osinst.c module. (CVS 5211) (check-in: 699cec66 user: drh tags: trunk)
12:38
Copy the latest VFS changes into the OS/2 implementation. This is a blind edit - I have no way to compile or test OS/2. (CVS 5210) (check-in: b60508cc user: drh tags: trunk)
05:16
Added additional testcases for julianday calculations with midnight boundary for UTC time. (CVS 5209) (check-in: edd2cb00 user: shane tags: trunk)
02:24
Added x86_64 version of hwtime function. Ticket #3156. (CVS 5208) (check-in: 0729f5c3 user: shane tags: trunk)
02:16
Removed all C++ style comments. Ticket #3172. (CVS 5207) (check-in: 59f72425 user: shane tags: trunk)
00:07
Additional refinements to the new sqlite3_initialize() interface design. (CVS 5206) (check-in: 14a9b945 user: drh tags: trunk)
2008-06-11
18:56
Adjust the error-message text in corrupt7.test. (CVS 5205) (check-in: 4a77ff5b user: drh tags: trunk)
18:27
Fix an error in the previous commit found by corrupt7.test. (CVS 5204) (check-in: afcfba0a user: danielk1977 tags: trunk)
18:15
Check that the offsets in the cell-offset array of a b-tree page are within range in sqlite3BtreeInit(). (CVS 5203) (check-in: 82f27e28 user: danielk1977 tags: trunk)
18:01
Add a test case for the database corruption in the form of cell offsets out of range in an otherwise valid btree page. (CVS 5202) (check-in: c569a6cf user: drh tags: trunk)
11:00
Update utility program speedtest8inst1.c. (CVS 5201) (check-in: 98bdc7b4 user: danielk1977 tags: trunk)
2008-06-10
17:41
A completely new design for the sqlite3_initialize() and sqlite3_shutdown() interfaces. (CVS 5200) (check-in: 7dfcd73d user: drh tags: trunk)
17:30
Invalidate sqlite3_blob* handles whenever an SQL statement is used to delete or modify the rows containing the open blob. Previously, modifying the table containing the open blob in any way invalidated the handle. This was too restrictive. (CVS 5199) (check-in: e339c91f user: danielk1977 tags: trunk)
2008-06-09
21:57
Initial attempt at defining the sqlite3_initialize() and sqlite3_shutdown() interfaces. (CVS 5198) (check-in: 220bfd1f user: drh tags: trunk)
19:27
Moved declaration of int nPage; to top of block to silence picky compilers (MSVC). (CVS 5197) (check-in: 120bffff user: shane tags: trunk)
15:51
Add test file incrblob2.test to test opening two blob handles on a single database blob. (CVS 5196) (check-in: c1d877fe user: danielk1977 tags: trunk)
2008-06-07
08:58
Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195) (check-in: e9f01c01 user: danielk1977 tags: trunk)
05:19
Do not call xSync() from zeroJournalHdr() if the Pager.noSync flag is set (i.e. for temp files). (CVS 5194) (check-in: 9f5cbe29 user: danielk1977 tags: trunk)
2008-06-06
16:14
Avoid attempting to delete the journal file of a temporary pager when closing the pager. It will be deleted automatically by the OS layer. (CVS 5193) (check-in: de8b87d6 user: danielk1977 tags: trunk)
15:49
Add the xGetLastError() member function to the sqlite3_vfs structure. It is neither called nor implemented at this point. (CVS 5192) (check-in: b8f1da52 user: danielk1977 tags: trunk)
15:04
Remove the subroutine return stack from the VDBE. Return addresses for subroutines are now stored in registers. (CVS 5191) (check-in: ef1956ee user: drh tags: trunk)
11:11
Remove the xGetTempname() method from the vfs structure. Temp files are now opened by passing a NULL pointer as the filename to xOpen(). (CVS 5190) (check-in: 5173b3e8 user: danielk1977 tags: trunk)
2008-06-05
16:47
Reorganize some of the code that detects expression trees with a depth greater than EXPR_MAX_DEPTH so that they are detected earlier. This further reduces the opportunities for stack overflow. (CVS 5189) (check-in: 16d4c53a user: danielk1977 tags: trunk)
11:39
Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188) (check-in: 4226ac54 user: danielk1977 tags: trunk)
2008-06-04
15:09
Fix another typo in the rtree README file. (CVS 5187) (check-in: 9ab87b7b user: drh tags: trunk)
14:20
Fix a bug in the R-Tree documentation. (CVS 5186) (check-in: bb445a4b user: drh tags: trunk)
06:45
Add "pragma journal_size_limit", used to limit the space consumed by persistent journal files left in the file-system after a transaction has concluded in exclusive (or journal_mode=persist) mode. (CVS 5185) (check-in: 5c59f469 user: danielk1977 tags: trunk)
2008-06-03
07:34
Ensure that vacuum3.test closes all opened database connections. Fix for #3157. (CVS 5184) (check-in: 654e3b3d user: danielk1977 tags: trunk)
2008-06-02
13:00
Avoid passing a null pointer to sqlite3SetString in sqlite3RunParser. Fix for #3155. (CVS 5183) (check-in: 03b5e458 user: danielk1977 tags: trunk)
2008-05-30
15:59
Fix typos in comments in vdbe.c. (CVS 5182) (check-in: 06135694 user: shane tags: trunk)
15:35
Fix typos in comments in sqlite.h.in. (CVS 5181) (check-in: 47956f8e user: shane tags: trunk)
14:58
Fix typos in comments in where.c. (CVS 5180) (check-in: 7cadb223 user: drh tags: trunk)
2008-05-29
20:22
Consolidated inline assembly versions of "hwtime()" into hwtime.h. Provided MSVC version. Modified code for consistent use of hwtime(). Changed implementation to use sqlite_uint64 and sqlite_int64 instead of unsigned long long int and long long int for MSVC compiler support. (CVS 5179) (check-in: 19f5f571 user: shane tags: trunk)
20:22
Consolidated inline assembly versions of "hwtime()" into hwtime.h. Provided MSVC version. Modified code for consistent use of hwtime(). Changed implementation to use sqlite_uint64 and sqlite_int64 instead of unsigned long long int and long long int for MSVC compiler support. (CVS 5178) (check-in: 9883b406 user: shane tags: trunk)
05:23
Fix cosmetic issues spotted while working on ticket #3146 (CVS 5177) (check-in: 5f6eab65 user: drh tags: trunk)
03:54
Moved check and define for OS_WINCE from os_win.c to os.h (with the other OS_* defines). This allows OS_WINCE to be available for mutex_w32.c which is included earlier than os_win.c in the almagamation. (CVS 5176) (check-in: ad6a782e user: shane tags: trunk)
03:20
When initializing the sqlite_sequence entry for an AUTOINCREMENT table, make sure the value is an reasonable integer even if the initial insert failed. Ticket #3148. (CVS 5175) (check-in: 7e684785 user: drh tags: trunk)
03:12
Fix an obsolete comment on the OP_Rowid opcode in the VDBE. (CVS 5174) (check-in: 0d55328e user: drh tags: trunk)
03:01
Omit declaration for functions that are only used by asserts if asserts aren't being used (NDEBUG). (CVS 5173) (check-in: 5afc445a user: shane tags: trunk)
02:57
Unused functions in testfixture.exe with certain defines. (CVS 5172) (check-in: 5e3ff1bb user: shane tags: trunk)
02:53
sqlite3OsDl*() APIs can be omitted if SQLITE_OMIT_LOAD_EXTENSION defined. (CVS 5171) (check-in: 7c51a97d user: shane tags: trunk)
2008-05-28
18:01
Use %llx instead of %x for 64 bit values (this only affects a debugging statement). (CVS 5170) (check-in: c81efc97 user: shane tags: trunk)
17:31
Update makefile.in so that makefiles generated by configure correctly copy in rtree source files to tsrc. (CVS 5169) (check-in: e015fa44 user: shane tags: trunk)
16:00
Add another test case to vacuum3.test. (CVS 5168) (check-in: d895e85e user: danielk1977 tags: trunk)
14:08
Add a test to vacuum3.test to try to trick sqlite into using the wrong database page-size. Turns out there was no problem. (CVS 5167) (check-in: 281589a2 user: danielk1977 tags: trunk)
13:49
Allow the SQLITE_MAX_EXPR_DEPTH compile-time parameter to be set to 0 in order to disable expression depth checking. Ticket #3143. (CVS 5166) (check-in: 5ceef40e user: drh tags: trunk)
2008-05-27
20:17
In test3.c, use type 'u32' instead of 'unsigned int' to remove a warning/error from native x86_64 compile. (CVS 5165) (check-in: 02447e4e user: shane tags: trunk)
19:49
Updated to use localtime_s() in Windows build environments that support it. Ticket #3126. (CVS 5164) (check-in: 1518827e user: shane tags: trunk)
18:11
Explicitly typedef Pgno as 'u32' instead of 'unsigned int' to remove a few warnings/errors from native x86_64 compile. (CVS 5163) (check-in: b5fd8a23 user: shane tags: trunk)
00:06
Fix a bug in rtree that occurs when too many constraints are passed in on a query. (CVS 5162) (check-in: 54b84a3d user: drh tags: trunk)
2008-05-26
20:49
Use %w instead of %q when constructing shadow table names for rtree. (CVS 5161) (check-in: 78f4ba97 user: drh tags: trunk)
20:19
Update the amalgamation builder to incorporate the RTREE extension. (CVS 5160) (check-in: aa8eba33 user: drh tags: trunk)
18:41
Import 'rtree' extension. (CVS 5159) (check-in: b104dcd6 user: danielk1977 tags: trunk)
18:33
Fix the LIKE query optimizer so that it works with LIKE patterns ending in '@%' on NOCASE columns. Ticket #3139. (CVS 5158) (check-in: 33548744 user: drh tags: trunk)
2008-05-23
17:21
Fixed various typos, spelling, grammar, and formatting mistakes. Ticket #3124. (CVS 5157) (check-in: 77d5a7aa user: shane tags: trunk)
14:49
Add a test case of preparing a statement with an nBytes parameter of 0 and where the previous byte of the string is zero. Ticket #3134. (CVS 5156) (check-in: 846a69ac user: drh tags: trunk)
14:32
Do not references zSql(-1) if nBytes==0 in sqlite3_prepare(). Ticket #3134. (CVS 5155) (check-in: 2d2c53e5 user: drh tags: trunk)
2008-05-22
13:56
Ensure that the db.mallocFailed flag is cleared before sqlite3_errmsg16() returns. (CVS 5154) (check-in: 0d47653a user: danielk1977 tags: trunk)
2008-05-21
15:38
Add the "volatile" keyword to variables in the Pager structure used for synchronization when memory management is enabled. (CVS 5153) (check-in: 25b9f3b9 user: drh tags: trunk)
15:01
Update sqlite3_open*() documentation on shared cache/filename matching relationship. Ticket #3132. (CVS 5152) (check-in: 235e384e user: shane tags: trunk)
13:44
Fix the VACUUM command so that it does not modify the changes counts reported by sqlite3_changes() or sqlite3_total_changes(). Update documentation on sqlite3_changes() and sqlite3_total_changes() to state that "DELETE FROM table" records a change count of zero. (CVS 5151) (check-in: f5d61d7d user: drh tags: trunk)
2008-05-20
19:08
Fix OS/2 compilation for pre-C99 compilers. (CVS 5150) (check-in: de8e6718 user: pweilbacher tags: trunk)
18:43
Corrections to the documented behavior of sqlite3_last_insert_rowid(). (This change is unrelated to the problem reported by Bram de Jong. That comes next.) (CVS 5149) (check-in: 894085a5 user: drh tags: trunk)
15:44
Changes to the error handling policies of sqlite3_exec() to make them more consistent. Changes to the documentation on the error handling polices of sqlite3_exec() so that the documentation and code agree. (CVS 5148) (check-in: a0376c79 user: drh tags: trunk)
14:01
Added more DST boundary checks for 2006 and 2007. Added check for suspect Windows DST implementations and warning about them. Ticket #2322. (CVS 5147) (check-in: 14226ff0 user: shane tags: trunk)
13:17
Updated test case for Windows to get around problems in ticket #3129. (CVS 5146) (check-in: 2faf69ca user: shane tags: trunk)
07:05
Do not attempt to write a master journal name to the (non-existent) journal file in "no-journal" mode. Fix for #3127. (CVS 5145) (check-in: ffd4e50a user: danielk1977 tags: trunk)
2008-05-19
23:51
Improvements to API documentation. The sqlite3_exec() function now sets the result returned by sqlite3_errcode() when it receives an SQLITE_ABORT. (CVS 5144) (check-in: f1df19ca user: drh tags: trunk)
20:11
SQLite stores native file names and paths for the database file. Under Windows, (file normalize test.db) is expanded using UNIX type path separators which TCL recognizes interchangeably. However, this means that the path reported by sqlite3_shared_cache_report doesn't match which causes the test case to fail. Made minor change to test case to hopefully correct this on all platforms. (CVS 5143) (check-in: 5ef61701 user: shane tags: trunk)
15:54
Fix sqlite3Atoi64 to return true if handed a number of all zeros. The failure to do this is benign as sqlite3Atoi64() is current used, but that might change in the future so it is good to go ahead and fix the function to return the correct result. (CVS 5142) (check-in: bc907875 user: drh tags: trunk)
15:53
In the CLI, handle the compilation option -DOS_OS2=0 correctly. (CVS 5141) (check-in: 70793be6 user: drh tags: trunk)
15:37
Added test cases for corrupt 2-10 byte SerialTypeLen values. (CVS 5140) (check-in: 97ed2dd1 user: shane tags: trunk)
2008-05-16
15:40
Disable the column cache when coding values that will be passed to the xFilter() method of a virtual table, in case the xFilter() implementation modifies the type or encoding of the value. Ticket #3121. (CVS 5139) (check-in: ecbc0d5d user: danielk1977 tags: trunk)
15:24
Check that the encoding of values passed to sqlite3_bind_value() matches that of the database. (CVS 5138) (check-in: e94a2883 user: danielk1977 tags: trunk)
04:51
Add more version tags to files that lack them. Ticket #3120. (CVS 5137) (check-in: 81a8c70e user: danielk1977 tags: trunk)
2008-05-15
19:43
Add version tag comments to source files that lack them. Tickets #3118 and #3119. (CVS 5136) (check-in: cf1fb2d8 user: drh tags: trunk)
17:48
Add the "page_count" pragma. Returns a single integer - the number of pages in the specified database file. (CVS 5135) (check-in: eb6985e6 user: danielk1977 tags: trunk)
11:08
If a pager is already in the error-state when CommitPhaseOne() is called, exit early. (CVS 5134) (check-in: 443cf105 user: danielk1977 tags: trunk)
09:07
Fix a test script bug - not all database handles were being closed by ioerr5.test. (CVS 5133) (check-in: 47652e7b user: danielk1977 tags: trunk)
08:34
Do not write pages to disk to free memory after an IO error occurs. (CVS 5132) (check-in: 10ea8287 user: danielk1977 tags: trunk)
2008-05-14
16:18
Version 3.5.9 (CVS 5131) (check-in: b6129f4c user: drh tags: trunk)
2008-05-13
19:41
On instruction from DRH, only do malloc failure tests for O/S ops on non-Windows systems. Better test fixture code will be introduced in 3.6.0 to add this coverage back in for Windows. (CVS 5130) (check-in: e4aab150 user: shane tags: trunk)
16:41
Do a slow-path in GetVarint32() for varints that do not fit in 32 bits. This will only happen when trying to interpret a corrupt database file so speed is not critical. (CVS 5129) (check-in: 6a6b9437 user: drh tags: trunk)
13:27
Make the benign-fault setting recursive. Make all malloc failures during a rollback benign since there is nothing we can do about them. (CVS 5128) (check-in: a9d1d931 user: drh tags: trunk)
00:58
Update the pager so that it does not try to commit a transaction if there have been no changes to the database. (CVS 5127) (check-in: f1ed3689 user: drh tags: trunk)
00:57
Update the autoconf makefile so that it includes -lpthread. (CVS 5126) (check-in: bd654ebd user: drh tags: trunk)
2008-05-12
16:56
check that DosWrite() was successful before trying again (CVS 5125) (check-in: 1ef6458b user: pweilbacher tags: trunk)
16:17
Add "b" to fopen() in the hexio tests so that extra carriage returns are not inserted on win32 and OS/2. Test harness change only - no changes to the core SQLite code. (CVS 5124) (check-in: 68cbc6b4 user: drh tags: trunk)
12:41
Temporarily disable extended IO error code tests. (CVS 5123) (check-in: f204df3c user: danielk1977 tags: trunk)
12:39
Fix typo in documentation of sqlite3_step(). Ticket #3110. (CVS 5122) (check-in: 4d397f57 user: drh tags: trunk)
10:57
Make test function do_ioerr_test more robust. No code changes. (CVS 5121) (check-in: f532692e user: danielk1977 tags: trunk)
07:42
Modify logging code in test_osinst.c. No changes to production code. (CVS 5120) (check-in: 85c54a16 user: danielk1977 tags: trunk)
00:32
Use short timeout for locking operations by default to be more in sync with the other platforms. (CVS 5119) (check-in: d00a015d user: pweilbacher tags: trunk)
00:29
Correctly test DosWrite() for failure return code (CVS 5118) (check-in: 3eff0ef2 user: pweilbacher tags: trunk)
2008-05-11
17:22
Use memcpy() instead of casting to copy the content of a long long int into a double. Ticket #3101. (CVS 5117) (check-in: 88e12cac user: drh tags: trunk)
11:07
New test cases to verify that SQLite handles bound NaN, +Inf, and -Inf floating point values correctly. Improvements to the text->real conversion routine so that it generates +Inf and -Inf at appropriate times. Tickets #3101 and #3060. (CVS 5116) (check-in: 3ff2f1cd user: drh tags: trunk)
2008-05-09
19:38
Fix leaked filename in case DosOpen() fails. (CVS 5115) (check-in: ecc6c739 user: pweilbacher tags: trunk)
18:03
Re-enable tests that were accidentally disabled by (5112). (CVS 5114) (check-in: bf45a3ab user: danielk1977 tags: trunk)
18:03
Reformulate the constants for the minimum and maximum 64-bit signed integer to work better with some compilers. Ticket #3105. (CVS 5113) (check-in: 18b1ee10 user: drh tags: trunk)
16:57
Fix a problem with recovering from an IO error in exclusive-locking mode. (CVS 5112) (check-in: 7a44fb96 user: danielk1977 tags: trunk)
14:39
Do not clear the error code or error message in sqlite3_clear_bindings(). Ticket #3063. (CVS 5111) (check-in: 069f4560 user: drh tags: trunk)
14:17
Fix the ALTER TABLE RENAME algorithm so that it is not confused by comments in the CREATE TABLE statement. Ticket #3102. (CVS 5110) (check-in: ab18b4e7 user: drh tags: trunk)
13:47
Back out check-in (5108). The original isnan() implementation is preferred. Ticket #3101 and #3060. (CVS 5109) (check-in: 2349ae75 user: drh tags: trunk)
03:07
Change the implementation of sqlite3IsNaN() so that it works even if compiled using -ffinite-math-only. Tickets #3101 and #3060. (CVS 5108) (check-in: 19ee2b33 user: drh tags: trunk)
2008-05-08
16:51
Fix recently introduced bug in tester.tcl. (CVS 5107) (check-in: 4b573d4e user: danielk1977 tags: trunk)
15:58
Add extra instrumentation to test_osinst.c. Also the --binarylog option to the test scripts. (CVS 5106) (check-in: 8a99efc0 user: danielk1977 tags: trunk)
15:18
Use a 6-byte rather than an 8-byte encoding for integers between 17592186044416 and 140737488355327. Ticket #3100. (CVS 5105) (check-in: 0a4d26de user: drh tags: trunk)
13:54
Increment the version number. (CVS 5104) (check-in: ed06d90d user: drh tags: trunk)
01:11
Fix the new ioerr4.test so that it plays well with others. (CVS 5103) (check-in: 75df2d3d user: drh tags: trunk)
2008-05-07
19:11
Fix some problems with multi-file transactions in persistent journal mode. (CVS 5102) (check-in: e98a7f87 user: danielk1977 tags: trunk)
18:59
Added test cases for corrupt SerialTypeLen header values, and additional check to improve detection of corrupt values. (CVS 5101) (check-in: 530c6360 user: shane tags: trunk)
15:44
Modify the header comment in jrnlmode2.test. No code or test changes. (CVS 5100) (check-in: ed728104 user: danielk1977 tags: trunk)
15:42
Change the header comment in jrnlmode4.test. No changes to any code or tests. (CVS 5099) (check-in: 0bf656a4 user: danielk1977 tags: trunk)
14:49
If an error occurs within xAccess(), it should return -1. Remove an assert() that was preventing it from doing so. (CVS 5098) (check-in: 3fbcef46 user: danielk1977 tags: trunk)
13:28
Add a new I/O error test: ioerr4. (CVS 5097) (check-in: c3ab1a7e user: drh tags: trunk)
12:45
Fix a null-pointer dereference that can occur following a DISKFULL error while running VACUUM. (CVS 5096) (check-in: 438d77a7 user: drh tags: trunk)
12:29
Omit mutex variables in the pager when threadsafe is disabled. (CVS 5095) (check-in: d15d0bba user: drh tags: trunk)
07:13
Fix a problem causing the database to be truncated to the wrong size after an incremental-vacuum is performed on a database in full auto-vacuum mode. (CVS 5094) (check-in: ed98df24 user: danielk1977 tags: trunk)
02:42
Only look for config.h if the autoconf-based build is being used, and don't inline it into the amalgamation. (CVS 5093) (check-in: 7df9ef2c user: mlcreech tags: trunk)
2008-05-06
22:22
Fix most remaining testsuite failures on OS/2 by switching to exclusive locks that we meant to use from the start. (CVS 5092) (check-in: 5f682c9a user: pweilbacher tags: trunk)
22:15
The pathToDel element of the os2File structure should be in the local codepage instead of UTF-8 to make DosForceDelete() work. (CVS 5091) (check-in: 76028b5e user: pweilbacher tags: trunk)
21:42
Remove delOnClose flag from os2File structure, use pathToDel==NULL for the same check. (CVS 5090) (check-in: 02e123bb user: pweilbacher tags: trunk)
18:13
Fix a bug whereby the database file was not always being extended to its original size when rolling back an incremental-vacuum operation. (CVS 5089) (check-in: 4a1ae9d0 user: danielk1977 tags: trunk)
02:28
Add defines for _FILE_OFFSET_BITS and _LARGE_FILES if needed for large file support. Ticket #3094. (CVS 5088) (check-in: 729e2f06 user: mlcreech tags: trunk)
2008-05-05
22:52
Add AC_SYS_LARGEFILE to ensure large file support, update autotools-related files. Ticket #3094. (CVS 5087) (check-in: 2b1e455c user: mlcreech tags: trunk)
17:14
Fix recently introduced test script error causing a failure in incrblob_err.test. (CVS 5086) (check-in: 5e7c8ebd user: danielk1977 tags: trunk)
16:56
Better error messages when trying to open a large file using a version of SQLite that omits large file support. Tickets #3096 and #3094. (CVS 5085) (check-in: bdd89cd2 user: drh tags: trunk)
16:27
Do not segfault in the CLI if sqlite3_open() fails to create a database connection object. Ticket #3096. (CVS 5084) (check-in: 0bec7ebf user: drh tags: trunk)
16:23
If an IO error occurs while locking the database and checking the cache validity, unlock the database before returning. Ticket #3030. (CVS 5083) (check-in: 4ad18091 user: danielk1977 tags: trunk)
15:26
Avoid leaking page references after an IO error is encountered. (CVS 5082) (check-in: 198c395b user: danielk1977 tags: trunk)
13:23
Fix a couple of minor problems with transactions in virtual tables. (CVS 5081) (check-in: 2275fc6e user: drh tags: trunk)
12:09
Avoid leaking page references when database corruption is encountered. (CVS 5080) (check-in: 270d47e8 user: danielk1977 tags: trunk)
11:33
Fix to test code to build when ENABLE_IOTRACE is not defined. (CVS 5079) (check-in: 8fa2bda4 user: danielk1977 tags: trunk)
2008-05-02
14:23
Make sure that when a connection is blocking on a RESERVED lock that it continues after the lock is released. Ticket #3093. (CVS 5078) (check-in: 3dc334aa user: drh tags: trunk)
14:08
Add a test case for ticket #3093. (CVS 5077) (check-in: 288a7655 user: drh tags: trunk)
02:00
Add another test case to verify that ticket #3092 has been fixed. (CVS 5076) (check-in: 1906d2da user: drh tags: trunk)
2008-05-01
18:01
Fix a problem with journal files being created unnecessarily when doing an atomic write in exclusive access locking mode. Fix a test script problem. (CVS 5075) (check-in: 70e70866 user: drh tags: trunk)
17:16
Fix more compiler warnings. (CVS 5074) (check-in: 59568844 user: drh tags: trunk)
17:03
Fix harmless compiler warnings. (CVS 5073) (check-in: 227a6f67 user: drh tags: trunk)
02:47
Test versions of getVarint functions. The updates essentially utilize loop unrolling and some shifting/anding tricks to minimize the number of logical operations required. (CVS 5072) (check-in: 682dc24d user: shane tags: trunk)
2008-04-30
16:38
Add comment to speculate when setting journal_mode=OFF on VACUUM does not help performance. No changes to code. (CVS 5071) (check-in: 9c8b4bab user: drh tags: trunk)
15:55
Improved option handling in speedtest8.c. Added -quiet and -priority options. Added reporting of total user and system time. (CVS 5070) (check-in: aa59974e user: shane tags: trunk)
08:56
Fix test for buffer overrun in unixGettempname(). Fix for #3091. (CVS 5069) (check-in: fc0ca647 user: danielk1977 tags: trunk)
2008-04-29
15:38
Zero the per-pager temporary space allocation to avoid warnings from valgrind. (CVS 5068) (check-in: f854ae57 user: drh tags: trunk)
15:22
Fix a potential buffer overrun in sqlite3_mprintf() when a non-terminated string is passed to a "%s" format with a precision specifying the number of bytes to copy. (CVS 5067) (check-in: 1f5b1841 user: drh tags: trunk)
00:15
Always convert IEEE NaN into NULL. Ticket #3060. Add test cases to verify that this is happening. (CVS 5066) (check-in: 9b07e59e user: drh tags: trunk)
2008-04-28
20:35
Allow SQLITE_MAX_COLUMN to be set to zero at compile-time in order to disable the checks. Also SQLITE_MAX_EXPR_DEPTH. Ticket #3069. (CVS 5065) (check-in: e6f71abb user: drh tags: trunk)
20:27
Add test cases to verify that multiple virtual tables can be updated within a trigger and that xSync, xCommit, and xRollback are never called except following xBegin or xCreate. Ticket #3083. (CVS 5064) (check-in: 76175199 user: drh tags: trunk)
18:46
Make sure that transactions are started on all virtual tables that changes in a single statement, not just the first. Ticket #3083. Need to add test cases. (CVS 5063) (check-in: 133b7ee5 user: drh tags: trunk)
17:41
Modified Varint32 functions to disable code for single-byte handling as it is already handled by their respective macro forms. (CVS 5062) (check-in: be10f5dd user: shane tags: trunk)
17:12
Add tests to create and drop a virtual table during a recursive call from an application-defined function. Ticket #3080. (CVS 5061) (check-in: d4d6eff3 user: drh tags: trunk)
16:55
Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) (check-in: 07fd9a8c user: drh tags: trunk)
16:19
Fix a shared-cache mode problem triggered when sqlite3_open16() was used to open the second or subsequent connections to a utf-8 database. (CVS 5059) (check-in: 20946bf6 user: danielk1977 tags: trunk)
15:23
Work around a NaN bug in some versions of Tcl. (CVS 5058) (check-in: 7bf8213c user: drh tags: trunk)
13:02
Changes to test scripts to accommodate different architectures and different versions of Tcl. (CVS 5057) (check-in: 8eb2c07c user: drh tags: trunk)
12:54
Restore the #include of stdint.h removed in (5051). (CVS 5056) (check-in: e96e8b9b user: drh tags: trunk)
2008-04-27
22:48
Delete requirement F12764 as it has never been implemented and the same effect can be easily achieved by other means. Ticket #3085. (CVS 5055) (check-in: fadeed99 user: drh tags: trunk)
22:29
Fix the documentation to agree with long-standing behavior for the sqlite3_bind_parameter_name() interface on an ?NNN parameter. Ticket #2975. (CVS 5054) (check-in: df9991d5 user: drh tags: trunk)
22:19
Allow multiple occurrances of %include in lemon input files. Ticket #3001. (CVS 5053) (check-in: f22fa11b user: drh tags: trunk)
18:45
Fix the lemon parser generator so that it works again with the "error" symbol. Ticket #3079 (CVS 5052) (check-in: 20ed7492 user: drh tags: trunk)
18:40
Remove all references to sqlite3_intptr_t. (CVS 5051) (check-in: 6a94d197 user: drh tags: trunk)
2008-04-26
13:39
Use "(void)" function arguments in declarations instead of "()". Both are legal but some pedantic compilers complain about the latter. Ticket #3086. (CVS 5050) (check-in: a4149ca3 user: drh tags: trunk)
2008-04-25
12:25
Clarify some comments. No changes to code. (CVS 5049) (check-in: 7f805392 user: drh tags: trunk)
12:10
Add test cases to prove that ticket #3082 has been fixed. (CVS 5048) (check-in: 776e7024 user: drh tags: trunk)
00:08
Candidate fix for ticket #3082. Test cases needed. (CVS 5047) (check-in: f6313311 user: drh tags: trunk)
2008-04-24
22:57
Remove two more unused files. (CVS 5046) (check-in: a400faf5 user: drh tags: trunk)
19:15
Consolidated varint macro usage from btreeInt.h, vdbe.c, and vdbeaux.c into sqliteInt.h and made their use consistent. Slight improvements to varint32 macros. (CVS 5045) (check-in: 0d04ccd9 user: shane tags: trunk)
12:38
Fix a problem with the test scripts caused by not cleaning up the global tcl namespace. (CVS 5044) (check-in: 44049239 user: danielk1977 tags: trunk)
12:37
Fix an assert() failure that can occur if "journal_mode=off" is used in a build with the atomic-write optimization enabled. (CVS 5043) (check-in: 709d17b1 user: danielk1977 tags: trunk)
12:36
Fix a crash that can follow a malloc() failure in malloc7.test. (CVS 5042) (check-in: 85eedad1 user: danielk1977 tags: trunk)
09:49
Ensure that it is not possible to open either virtual table or view columns using the blob API. Ticket #3078. (CVS 5041) (check-in: 6039328f user: danielk1977 tags: trunk)
08:56
Minor change to comment on sqlite3_blob_read(). No code changes. Ticket #3072. (CVS 5040) (check-in: adb4bc5a user: danielk1977 tags: trunk)
08:36
Remove redundant assert() statement from vdbeaux.c. Ticket #3065. (CVS 5039) (check-in: 3cba1166 user: danielk1977 tags: trunk)
08:31
Add version comment to vdbeaux.c. No code changes. Ticket #3066. (CVS 5038) (check-in: d667add4 user: danielk1977 tags: trunk)
2008-04-23
23:03
We should better not pass open file handles to child processes, so add respective flag for DosOpen(). (CVS 5037) (check-in: 1518e854 user: pweilbacher tags: trunk)
2008-04-22
17:15
Always sync the journal file after zeroing out the header. (CVS 5036) (check-in: 5896ae3d user: drh tags: trunk)
14:31
Avoid non-contiguous writes when creating a journal header. (CVS 5035) (check-in: dfacddbb user: danielk1977 tags: trunk)
2008-04-19
20:53
Add some tests for journal_mode=off. Need to come up with a way of handling rollback attempts when there is no journal. (CVS 5034) (check-in: e29b870e user: drh tags: trunk)
20:34
Continuing work on journal_mode. Journal_mode=persist now appears to be working, though additional testing would be welcomed. (CVS 5033) (check-in: 277e4099 user: drh tags: trunk)
14:40
Comment and variable-name cleanup in where.c. Add testcase() macros to insure adequate test coverage of table-driven logic. (CVS 5032) (check-in: adcef73b user: drh tags: trunk)
14:06
Fix a typo in the documentation on sqlite3_open_v2(). (CVS 5031) (check-in: f7b62daa user: drh tags: trunk)
2008-04-18
11:31
Remove unused code from OP_IdxLt and OP_IdxGE. (CVS 5030) (check-in: df02175e user: danielk1977 tags: trunk)
10:25
Combine cases 3 and 4 in where.c, since case 4 is now a special case of case 3. (CVS 5029) (check-in: 9a976819 user: danielk1977 tags: trunk)
09:01
Allow OP_MoveGt and similar to use an array of registers instead of a serialized record. Modify one type of index range scan to use this. (CVS 5028) (check-in: c448f15a user: danielk1977 tags: trunk)
2008-04-17
20:59
Continuing progress on the journal_mode pragma. It still does not work. (CVS 5027) (check-in: 4a72a7bb user: drh tags: trunk)
19:14
Additional work on ticket #3015. The previous fix (check-in (4919)) did not appear to work in all cases and it disabled indexing in some places where it should not have. New test cases added to help insure that the current fix is better. (CVS 5026) (check-in: 0d2e258e user: drh tags: trunk)
17:03
Fix a typo in the documentation for sqlite3_bind_text. Ticket #3056. (CVS 5025) (check-in: 79571e2c user: drh tags: trunk)
17:02
Add the journal_mode pragma. This is currently just syntax - it is not operational. (CVS 5024) (check-in: 8eaa0c71 user: drh tags: trunk)
14:16
In exclusive locking mode, commit by zeroing the first 28 bytes of the journal file, not by truncating the journal. Overwriting is much faster than truncating. (CVS 5023) (check-in: 8efb7f4f user: drh tags: trunk)
2008-04-16
23:50
Add the -overwrite option to speedtest8.c. (CVS 5022) (check-in: 6765ea52 user: drh tags: trunk)
23:39
Clear a global variable in the incrblob.test script. Ticket #3062. (CVS 5021) (check-in: 1c19854a user: drh tags: trunk)
16:11
Fix the bind.test test script so that the tests for zeros embedded in strings work correctly for UTF-16 encoded databases. (CVS 5020) (check-in: 7c094c80 user: drh tags: trunk)
15:39
Version 3.5.8 (CVS 5019) (check-in: 6a2e3eb2 user: drh tags: trunk)
12:58
Add tests to verify that strings may use embedded zero characters. Ticket #3056. (CVS 5018) (check-in: bb0f9e92 user: drh tags: trunk)
12:57
Add speed-test scripts that also show EXPLAIN output. (CVS 5017) (check-in: d11f5daf user: drh tags: trunk)
00:49
Make sure the database connection mutex is held before calling sqlite3SafetyOn() or sqlite3SafetyOff(). Ticket #3059. (CVS 5016) (check-in: d35dea05 user: drh tags: trunk)
00:28
Back out the zero-terminator optimization introduced in check-in (4915). Ticket #3056. (CVS 5015) (check-in: cce8deae user: drh tags: trunk)
2008-04-15
18:50
Support UTF-8 filenames on OS/2 by converting them to and from the local codepage. Ticket 3052. (CVS 5014) (check-in: cafa8ac2 user: pweilbacher tags: trunk)
14:37
Increment the version number. (CVS 5013) (check-in: a12fa025 user: drh tags: trunk)
14:36
Do not attempt to omit unused columns of a view in an instead-of trigger since sometimes those columns can be used in ways that we do not expect. Ticket #3055. (CVS 5012) (check-in: f5fc42e9 user: drh tags: trunk)
12:14
Fix a code generator bug caused by the new CSE optimization. Add test cases to prevent a recurrence. (CVS 5011) (check-in: d04246a4 user: drh tags: trunk)
04:02
Fix a bug in the RTRIM collating sequence discovered while working on condition/decision branch coverage. Increase test coverage of the date/time functions. (CVS 5010) (check-in: c5435f71 user: drh tags: trunk)
02:36
Add out-of-range tests on the first parameter to sqlite3_limit(). Add the ability to record tests that have been skipped due to configuration limitations. (CVS 5009) (check-in: b7ffc6f0 user: drh tags: trunk)
00:02
Add a test case to cover the bug fixed in check-in (5007). (CVS 5008) (check-in: 1863e87c user: drh tags: trunk)
2008-04-14
23:13
Do not attempt to write to temporary database files that have never been opened. (CVS 5007) (check-in: 7bb9a416 user: drh tags: trunk)
22:57
Fix #3053: bashism (CVS 5006) (check-in: 7217cece user: mlcreech tags: trunk)
17:42
Fix alignment issue in instrumentation code. (CVS 5005) (check-in: c9e0d625 user: danielk1977 tags: trunk)
16:37
Do not set the pager to persistent error state if a call to OsAccess() fails. (CVS 5004) (check-in: aa16eb57 user: danielk1977 tags: trunk)
15:27
Make sure the page size in crash6.test does not exceed the maximum configured page size. (CVS 5003) (check-in: 36b6610b user: drh tags: trunk)
15:15
Free Mem.z buffers when a vdbe statement is reset. (CVS 5002) (check-in: 0bedbe09 user: danielk1977 tags: trunk)
14:34
Cleanup some #ifdefs to make their meaning clearly. No logical changes. (CVS 5001) (check-in: b8bc5f3a user: drh tags: trunk)
13:42
Disable auto_vacuum during the vacuum3 test. (CVS 5000) (check-in: e2e1ca81 user: drh tags: trunk)
01:00
Get the SQLITE_SECURE_DELETE compile-time option working again. Ticket #3050. (CVS 4999) (check-in: 40ba51fd user: drh tags: trunk)
2008-04-13
23:13
Fix build errors in test_osinst (CVS 4998) (check-in: f0473997 user: mlcreech tags: trunk)
2008-04-12
16:03
Modify speedtest8.c so that it can use the logging from test_osinst.c when HAVE_OSINST is defined. (CVS 4997) (check-in: 7622d74a user: danielk1977 tags: trunk)
13:06
Remove all instances of sprintf() from the FTS modules. Ticket #3049. (CVS 4996) (check-in: 062bf5d4 user: drh tags: trunk)
11:30
Modify test_osinst.c so that it only uses public interfaces. (CVS 4995) (check-in: 3866a5da user: danielk1977 tags: trunk)
10:53
Add a logfile option to test_osinst.c. (CVS 4994) (check-in: f97d8945 user: danielk1977 tags: trunk)
2008-04-11
21:20
Add the speedtest8inst1.c program for running speed tests with an instrumented VFS. (CVS 4993) (check-in: baa8056c user: drh tags: trunk)
19:37
Faster implementation of hexToInt that uses not branches. Ticket #3047. (CVS 4992) (check-in: a70e9587 user: drh tags: trunk)
19:18
Avoid the use of uninitialized variables in sqlite3GenerateRowIndexDelete. Ticket #3048. (CVS 4991) (check-in: a93b7a34 user: drh tags: trunk)
17:15
Remove a recently added assert() that is failing with certain compilers on 32-bit platforms. Ticket #3043. (CVS 4990) (check-in: 03c0279d user: danielk1977 tags: trunk)
17:11
Remove entries from the sqlite_stat1 table whenever an index is dropped. Related to #3033. (CVS 4989) (check-in: 349aab42 user: danielk1977 tags: trunk)
15:36
Additional reductions in the use of memset(). (CVS 4988) (check-in: 38746c54 user: drh tags: trunk)
14:56
Speed improvements by removing unnecessary memset() operations. Also: do not resize the opcode array of a virtual machine to its minimum size after code generation completes. The extra resize merely uses time. (CVS 4987) (check-in: 25899555 user: drh tags: trunk)
2008-04-10
18:44
Enhancements to the change counter tests. Ticket #3013. (CVS 4986) (check-in: 1aaed6a4 user: drh tags: trunk)
18:35
Correctly handle virtual tables that are created and dropped all within a single transaction. Ticket #2994. (CVS 4985) (check-in: 0acb1b42 user: drh tags: trunk)
17:27
Add the --ostrace and --ossummary options to tester.tcl. To log calls the vfs layer from within test scripts. (CVS 4984) (check-in: e1322415 user: danielk1977 tags: trunk)
17:14
Enhanced testing and documentation of sqlite3_result_error_code(). Ticket #2940. (CVS 4983) (check-in: 5be56dbe user: drh tags: trunk)
16:47
Disable nuisance warnings on borland compilers. ticket #2936. (CVS 4982) (check-in: 1e094ecf user: drh tags: trunk)
16:42
Make sure check-in (4976) also fixes ticket #2935. (CVS 4981) (check-in: e3f798b1 user: drh tags: trunk)
16:01
Give file scope to the sqlite3Apis constant. Ticket #3024. (CVS 4980) (check-in: 30c50860 user: drh tags: trunk)
15:12
Verify that a RAISE(ROLLBACK,...) works like RAISE(FAIL,...) when not inside a transaction. Ticket #3035. (CVS 4979) (check-in: 87dc82d0 user: drh tags: trunk)
14:57
Make sure all memory allocations are 8-byte aligned. Ticket #3040. Note that the mem3.c memory allocator returns 4-byte aligned memory allocations. But as mem3.c is intended for use in 32-bit embedded systems, we are not going to change that. (CVS 4978) (check-in: d11e8e30 user: drh tags: trunk)
14:51
Add source file test_osinst.c. A wrapper vfs with instrumentation capabilities. (CVS 4977) (check-in: d9a6b653 user: danielk1977 tags: trunk)
14:00
Make sure changes to virtual tables are counted the same as real tables. Ticket #3038. (CVS 4976) (check-in: 55591fc4 user: drh tags: trunk)
13:42
Fix to the "copy" method in the TCL interface. Ticket #3039. (CVS 4975) (check-in: 6f07968e user: drh tags: trunk)
13:38
Document the fast that the result flag combinations to sqlite3_open_v2() that are not defined in the documentation results in undefined behavior. Ticket #3037. (CVS 4974) (check-in: b390e1f7 user: drh tags: trunk)
13:33
First cut at optimizing single-row updates to use a one-pass algorithm. (CVS 4973) (check-in: fba97f78 user: drh tags: trunk)
13:32
Add three new test cases to speed4p.test. Two of the three do single-row updates based on rowid and on primary key. (CVS 4972) (check-in: a2da7f9a user: drh tags: trunk)
13:20
Fix a bug in the speed4p.test performance testing script. (CVS 4971) (check-in: 80311594 user: drh tags: trunk)
2008-04-08
03:09
Replace always-true condition with assertion (CVS 4970) (check-in: be7f3240 user: mlcreech tags: trunk)
03:07
Add test case for empty VFS list (CVS 4969) (check-in: 6797814e user: mlcreech tags: trunk)
2008-04-05
18:41
Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint. Gives 0.5% speed increase. (CVS 4968) (check-in: b2517a7d user: drh tags: trunk)
2008-04-04
15:12
Smaller and hopefully faster routine for converting blob literals into binary. (CVS 4967) (check-in: 92d49499 user: drh tags: trunk)
12:21
Fix the output labels on the tests in malloc9. (CVS 4966) (check-in: 9987a7b1 user: drh tags: trunk)
12:21
Fix the TCL interface so that it does not use unpublished interfaces. (CVS 4965) (check-in: 046a98a8 user: drh tags: trunk)
2008-04-03
21:46
Remove superfluous code from btree.c. (CVS 4964) (check-in: 40173010 user: drh tags: trunk)
21:42
Make sure the zTail return from sqlite3_prepare() is initialized even if there is a malloc failure. (CVS 4963) (check-in: 040cffe2 user: drh tags: trunk)
20:09
Fix to the previous check-in so that it works on a intel Mac. (CVS 4962) (check-in: 1d67f41c user: drh tags: trunk)
19:40
Use an improved RDTSC access routine. (CVS 4961) (check-in: b4eba9c5 user: drh tags: trunk)
17:57
Changes speedtest8 and speedtest16 so that the database file can be specified on the command-line. Allows speed testing against a :memory: database. (CVS 4960) (check-in: 64badc50 user: drh tags: trunk)
16:28
Instead of calling sqlite3_exec() to evaluate "PRAGMA encoding = UTF16" in sqlite3_open16(), set the connection encoding flag directly. (CVS 4959) (check-in: 33a12e73 user: danielk1977 tags: trunk)
16:01
Add the speedtest8.c and speedtest16.c files to the tools subdirectory. (CVS 4958) (check-in: b8d211a7 user: drh tags: trunk)
14:36
Avoid an out-of-bounds read in sqlite3_prepare() and fix a case where the output variable *pzTail was being set incorrectly. Fix for #3027. (CVS 4957) (check-in: c287a7b2 user: danielk1977 tags: trunk)
10:13
Change the allocator in mem2.c (used when SQLITE_MEMDEBUG is defined) so that allocations are not rounded up to the nearest 4 byte boundary. Fix a couple of errors in malloc.test related to sqlite3OsAccess() returning -1. (CVS 4956) (check-in: fd97f876 user: danielk1977 tags: trunk)
2008-04-02
18:33
Minor optimizations. (CVS 4955) (check-in: e8529455 user: drh tags: trunk)
16:29
Simplifications to the LockTable opcode. (CVS 4954) (check-in: 66c5d715 user: drh tags: trunk)
04:23
Set flags = MEM_Null on allocation failure in sqlite3VdbeMemGrow (CVS 4953) (check-in: 846f9739 user: mlcreech tags: trunk)
2008-04-01
18:04
Avoid factoring single-instruction constants that end up getting replaced by an SCopy instruction. (CVS 4952) (check-in: e84ff57b user: drh tags: trunk)
15:06
Add the testcase() macro. Additional CSE test coverage. (CVS 4951) (check-in: 492490f9 user: drh tags: trunk)
12:24
Fix a problem with CASTs and the new CSE mechanism. (CVS 4950) (check-in: e25939fb user: drh tags: trunk)
05:07
Fix the CSE mechanism so that it takes into account column affinity changes that might be imposed by comparison operators. (CVS 4949) (check-in: 91cc646e user: drh tags: trunk)
03:27
More test cases and bug fixes with CSE. (CVS 4948) (check-in: 7e815612 user: drh tags: trunk)
02:45
Add a configure option for using gcov (makes things easier for versions of GCC that fail to build otherwise) (CVS 4947) (check-in: 7d1e7971 user: mlcreech tags: trunk)
01:42
Initial test cases and bug fixes in the CSE logic. (CVS 4946) (check-in: e5aff09a user: drh tags: trunk)
00:36
Break up the implementation of OP_Move, OP_Copy, and OP_SCopy to reduce the number of branch instructions. (CVS 4945) (check-in: 53e533d3 user: drh tags: trunk)
2008-03-31
23:51
Add the veryquick.test script for a very fast overview test that omits all i/o and malloc testing. (CVS 4944) (check-in: f61df8da user: drh tags: trunk)
23:48
Avoid duplicate OP_Column opcodes by remembering prior results. This is similar to CSE, but only applies to columns. (CVS 4943) (check-in: c29ee0fe user: drh tags: trunk)
18:19
Factor constant subexpressions out of loops. (CVS 4942) (check-in: 2126db39 user: drh tags: trunk)
17:41
In setQuotedToken(), only make a malloced copy if the argument contains one or more " characters. (CVS 4941) (check-in: b266924b user: danielk1977 tags: trunk)
2008-03-29
23:25
Minor cleanup: Use size_t for struct size cast (CVS 4940) (check-in: 618df68b user: mlcreech tags: trunk)
17:26
Set exclusive locking mode by default on the speed4p test. (CVS 4939) (check-in: 2d9fea95 user: drh tags: trunk)
16:01
Make the sqlite3BtreeMoveto routine a no-op if the cursor is already pointing at the cell we are trying to move to. (CVS 4938) (check-in: 9b567ab6 user: drh tags: trunk)
12:50
add two missing initializer values (CVS 4937) (check-in: bf28f1c2 user: rse tags: trunk)
12:47
eliminate compile-time warnings related to missing field initializations (CVS 4936) (check-in: d6a34d98 user: rse tags: trunk)
12:39
add three missing initializers (CVS 4935) (check-in: f45f0593 user: rse tags: trunk)
11:00
Add the --pause option to the main test driver. (CVS 4934) (check-in: 37dfcdf5 user: drh tags: trunk)
2008-03-28
19:16
Fix a problem with min() and descending indexes. (CVS 4933) (check-in: 39705b61 user: danielk1977 tags: trunk)
19:16
Fix a memory leak that can occur when the library API is misused. (CVS 4932) (check-in: 2b6d3e01 user: danielk1977 tags: trunk)
19:15
Do not incorrectly report a malloc() failure when allocating 0 bytes. Fixes a problem in bind.test. (CVS 4931) (check-in: b99d19d6 user: danielk1977 tags: trunk)
18:11
Fix for #3022. Handle queries like "SELECT min(b) FROM T WHERE a = X AND b > X" when there is an index on (a,b). (CVS 4930) (check-in: bce28975 user: danielk1977 tags: trunk)
17:41
Change the pager's sector size algorithm to the maximum of the size reported by xSectorSize() from the VFS and 512. It was using the maximum of xSectorSize() and the current page size, but that was adding an extra 512 bytes to the size of the journal file in the common case. (CVS 4929) (check-in: 17ea0c97 user: drh tags: trunk)
15:44
Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928) (check-in: d0bf73d8 user: danielk1977 tags: trunk)
12:53
Patch to the new memory tracing logic that allows it to build even if memory debugging is turned off. (CVS 4927) (check-in: 0a9c63b2 user: drh tags: trunk)
07:42
If memory is leaked when running a test script with the --malloctrace option, write out a file called leaks.sql in the same format as mallocs.sql containing th e leaked applications. The same tools can then be used to examine the stack traces associated with leaked allocations. (CVS 4926) (check-in: f1b97ed9 user: danielk1977 tags: trunk)
2008-03-27
22:42
Allow the xAccess method in the VFS to return -1 to signal an I/O error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925) (check-in: 3cb704c4 user: drh tags: trunk)
17:59
Allow creation of ephemeral pseudo-tables - pseudo-tables that copy a pointer to a row when inserted instead of copying the row data. (CVS 4924) (check-in: 1a58a870 user: danielk1977 tags: trunk)
15:07
Added the speed4p.test script for testing performance of views and triggers. (CVS 4923) (check-in: adf7645f user: drh tags: trunk)
2008-03-26
18:34
Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922) (check-in: 8c2f6952 user: danielk1977 tags: trunk)
17:18
Work around problems with compilers that do not allow C preprocessor macros with empty arguments. (CVS 4921) (check-in: afe1963e user: drh tags: trunk)
15:56
Change comment in sqliteLimit.h to correctly describe the SQLITE_MAX_ATTACHED #define. Ticket #3016. (CVS 4920) (check-in: d016d078 user: drh tags: trunk)
14:56
Make sure ON clause terms of a LEFT JOIN are not used with an index on the right table of the join. Ticket #3015. (CVS 4919) (check-in: 3fafa562 user: drh tags: trunk)
12:50
Comment change on the previous check-in. No changes to code. (CVS 4918) (check-in: 72ae4562 user: drh tags: trunk)
12:46
Make sure an imbalance in the number of columns on a compound SELECT is detected and reported as an error before it can cause an assertion fault or array-bounds overflow in the code generator. Oops: part of the fix for ticket #3015 got included with this check-in by mistake. (CVS 4917) (check-in: 50de87dc user: drh tags: trunk)
2008-03-25
17:23
Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) (check-in: ee381b43 user: drh tags: trunk)
16:16
Test string values passed to bind_text() and result_text() for a nul-terminator. (CVS 4915) (check-in: 24c3ebc0 user: danielk1977 tags: trunk)
14:24
Have each {quote: BtShared} structure hang on to a buffer of just under page-size bytes for temporary use. This reduces the number of calls to malloc(). (CVS 4914) (check-in: fe1bc0f3 user: danielk1977 tags: trunk)
09:56
Fix for memory leak in malloc3.test. (CVS 4913) (check-in: ef0e40e8 user: danielk1977 tags: trunk)
09:47
Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) (check-in: 04715364 user: danielk1977 tags: trunk)
00:22
Removed the direct btree tests - part of the ongoing effort to test by calling only public interfaces. Modify the sqlite3VdbeRecordCompare interface to used a pre-parsed second key - resulting in a 13% performance improvement on speed1p.test. (CVS 4911) (check-in: 0e1d84f2 user: drh tags: trunk)
2008-03-24
12:51
Improved documentation of sqlite3_blob_open(). (CVS 4910) (check-in: 1ed695f5 user: drh tags: trunk)
2008-03-23
00:20
Remove redundant tests from the reparenter in the btree module. (CVS 4909) (check-in: a807e718 user: drh tags: trunk)
2008-03-22
23:59
Bug fix in the newly revised sqllimit1.test script. (CVS 4908) (check-in: 2a89fb3c user: drh tags: trunk)
01:08
Add the speed1p.test script. Like speed1.test except that it tries to take advantage of prepared statements. (CVS 4907) (check-in: ece4fb9f user: drh tags: trunk)
01:07
Add the SQLITE_OMIT_DECLTYPE compile-time option. Remove more code when SQLITE_ENABLE_COLUMN_METADATA is not defined. (CVS 4906) (check-in: 8ef26646 user: drh tags: trunk)
2008-03-21
18:01
Defer allocating memory space to hold the array of column values and names in sqlite3_exec() until there is a need to use the array. In the common case where there is no callback, this avoids a malloc() call. (CVS 4905) (check-in: d8686abc user: drh tags: trunk)
17:29
Better integrate the new malloc related instrumentation with the test infrastructure. (CVS 4904) (check-in: d2140cae user: danielk1977 tags: trunk)
17:13
Make sure the text result of an aggregate function has the correct encoding. Ticket #3009. (CVS 4903) (check-in: 13e388ce user: drh tags: trunk)
16:45
Add a completely new testing system for the Bitvec object. The new testing system uses sqlite3_test_control() instead of unpublished APIs. Now provides 100% condition/decision coverage. Obscure bugs in Bitvec found and fixed as a result of the enhanced coverage. (CVS 4902) (check-in: 2498d3ea user: drh tags: trunk)
14:22
Add some more logging to the malloc system used when SQLITE_MEMDEBUG is defined. (CVS 4901) (check-in: 79738f58 user: danielk1977 tags: trunk)
2008-03-20
18:00
In the sqlite3_limit() interface, take out the feature where zero means use the hard upper bound. If an application wants the hard upper bound, it can set the limit to 0x7fffffff and the bound will be automatically truncated. (CVS 4900) (check-in: d6be1f49 user: drh tags: trunk)
16:30
Reinstate test cases for the limit tests. The sqlite3_limit() API is now tested and working. (CVS 4899) (check-in: 4c4be4c3 user: drh tags: trunk)
16:26
Do not run crash7.test as part of a quick test. (CVS 4898) (check-in: 53b4a090 user: danielk1977 tags: trunk)
14:03
Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) (check-in: 60c77882 user: drh tags: trunk)
11:04
Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896) (check-in: 871df0e7 user: danielk1977 tags: trunk)
10:44
stick everything that sqlite links against into Libs.private (CVS 4895) (check-in: 8b198617 user: vapier tags: trunk)
04:45
Write the page-size into the first journal-header of each journal file. (CVS 4894) (check-in: 79f573cc user: danielk1977 tags: trunk)
02:25
Make out-of-tree builds work as expected when using configure script (CVS 4893) (check-in: e2d05ea3 user: mlcreech tags: trunk)
00:32
Fix the load-extension mechanism so that tests build with or without it. This check-in also includes prototypes for the new sqlite3_limit() interface, but no implementation. (CVS 4892) (check-in: bee38c2d user: drh tags: trunk)
2008-03-19
23:52
Fix build whether compiling with or without auto-extension enabled (CVS 4891) (check-in: 7b9682c6 user: mlcreech tags: trunk)
23:15
Don't wrongly look for the amalgamation in $(TOP) (CVS 4890) (check-in: 41d6ca31 user: mlcreech tags: trunk)
21:45
Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) (check-in: 54c55cae user: drh tags: trunk)
20:42
Undefine the "isView" macro when compiling with SQLITE_OMIT_VIEW so that the macro does not interfer with subsequent modules in the amalgamation. (CVS 4888) (check-in: a42caa8f user: drh tags: trunk)
20:18
Use the xCurrentTime method of the default VFS instead of stdlib time() to get the current time when compiling with SQLITE_OMIT_DATETIME_FUNCS. (CVS 4887) (check-in: 73fbac7c user: drh tags: trunk)
19:55
Update the loadable extension module to include recently added interfaces. (CVS 4886) (check-in: bf1ceced user: drh tags: trunk)
19:01
Initialize the MD5 SQL functions from test_func.c instead of using conditional compilation in tclsqlite.c. (CVS 4885) (check-in: 801a0e3c user: drh tags: trunk)
16:35
Create the test_destructor16() test SQL function to enhance test coverage. Prior to check-in (4883), the test_destructor() function was sufficient, but we now need separate functions since the implementation is restricted to using the published API. (CVS 4884) (check-in: bb721865 user: drh tags: trunk)
16:08
Move SQL functions used for testing only out of func.c and into a new test file named test_func.c. Use sqlite3_auto_extension() to make sure the test functions appear in every database connection. (CVS 4883) (check-in: e90c4cc8 user: drh tags: trunk)
14:15
Add a new api sqlite3_randomness() for providing access to SQLite's internal PRNG. Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882) (check-in: 15110ea0 user: drh tags: trunk)
13:03
When a parse of the sqlite_master table fails, include the name of the object being parsed as part of the error message. (CVS 4881) (check-in: 57805b58 user: drh tags: trunk)
00:21
Remove the dependency on the direct btree interface from as many test scripts as is practical. Fix a bug in the output limiter of the integrity_check pragma that came up while making this change. (CVS 4880) (check-in: 24e76997 user: drh tags: trunk)
2008-03-18
13:47
Update the documentation to distinguish between protected and unprotected sqlite3_value objects. (CVS 4879) (check-in: 074ee55f user: drh tags: trunk)
13:46
Test script changes that go with the coverage enhancements of the previous check-in. (CVS 4878) (check-in: f87ddf83 user: drh tags: trunk)
13:01
Minor test coverage enhancements. (CVS 4877) (check-in: edd207b9 user: drh tags: trunk)
00:54
Fix a memory leak introduced by the previous bug fix. (CVS 4876) (check-in: b9c5dce3 user: drh tags: trunk)
00:07
Add the ability to simulate out-of-memory errors when using the default memory allocator, mem1.c. Fix a bug that this enhancement revealed. (CVS 4875) (check-in: d55a5e1c user: drh tags: trunk)
2008-03-17
19:03
Version 3.5.7 (CVS 4874) (check-in: 9a6583d3 user: drh tags: trunk)
17:18
Fix an uninitialized variable in the Prev and Next opcodes. (CVS 4873) (check-in: fcf3d0a3 user: drh tags: trunk)
17:08
Abandon the OR optimization following a memory allocation failure, to avoid referencing uninitialized memory. (CVS 4872) (check-in: 9d2afbb5 user: drh tags: trunk)
16:54
Detect the failure to zero-terminate a result string due to a malloc failure. (CVS 4871) (check-in: 57db1406 user: drh tags: trunk)
16:23
Label test case bindxfer-1.9 as a misuse test case, since it is one. (CVS 4870) (check-in: 7b991226 user: drh tags: trunk)
15:09
Modify the tableapi.test script so that it works under windows. (CVS 4869) (check-in: 89e06b4e user: drh tags: trunk)
13:50
Put the statement journal in the temp-file directory since that directory is often on optimized storage such as RAM disk and because unlike the main journal, the statement journal does not need to be colocated with the database file. (CVS 4868) (check-in: 72c40726 user: drh tags: trunk)
09:36
Return an error when an xBestIndex() method indicates that it intends to use the value of an unusable constraint. Related to #2998. (CVS 4867) (check-in: ffd47027 user: danielk1977 tags: trunk)
2008-03-15
14:53
Skip tests that require setting detailed unix permissions on files when running on filesystems such as AFP that do not support that capability. (CVS 4866) (check-in: 5589b9d3 user: drh tags: trunk)
02:09
Add tests to make sure the busy handler resets. (CVS 4865) (check-in: 5e4df441 user: drh tags: trunk)
2008-03-14
19:33
Reset the busy callback iteration counter at the beginning of each lock test loop. (CVS 4864) (check-in: 66777f04 user: drh tags: trunk)
19:17
Change an instance of intptr_t to sqlite3_intptr_t. (CVS 4863) (check-in: 6db7186c user: drh tags: trunk)
13:02
Revise Bitvec struct sizing to prevent assertion failure on 64-bit systems (CVS 4862) (check-in: a3c12dbe user: mlcreech tags: trunk)
08:57
Fix a second race condition in lock4.test. (CVS 4861) (check-in: e62858b9 user: danielk1977 tags: trunk)
04:11
Allow the testfixture to be built even when using the amalgamation (CVS 4860) (check-in: 8a726e37 user: mlcreech tags: trunk)
2008-03-13
23:34
One additional intptr_t conversion (in the same vein as check-in 4824) (CVS 4859) (check-in: 2777ca78 user: mlcreech tags: trunk)
23:28
Apply patch for #2915 to add target extension for executables (CVS 4858) (check-in: 63fc7b72 user: mlcreech tags: trunk)
19:55
Specify installation lib in 'rpath' options for sqlite3 executable (CVS 4857) (check-in: 5076d480 user: mlcreech tags: trunk)
18:28
Add/move files in Makefile.in to bring it more in line with main.mk (CVS 4856) (check-in: b57fc81c user: mlcreech tags: trunk)
04:53
Eliminate a race condition from lock4.test. (CVS 4855) (check-in: 85585f11 user: danielk1977 tags: trunk)
2008-03-12
10:39
Do not segfault after a parse error in a sub-select in a statement of the form "DELETE WHERE ... IN(sub-select)". Ticket #2991. (CVS 4854) (check-in: 3f9f81e9 user: danielk1977 tags: trunk)
2008-03-11
18:03
If tclsh is not found, don't default to building the amalgamation (CVS 4853) (check-in: cbc01675 user: mlcreech tags: trunk)
15:41
Increase the version number to 3.5.7 in anticipation of the next release. (CVS 4852) (check-in: c85e97e4 user: drh tags: trunk)
2008-03-10
16:17
Remove the #includes of stdlib.h and sys/types.h from sqliteInt.h since they are never used and because they broke the build. (CVS 4851) (check-in: 2668000f user: drh tags: trunk)
14:12
Add explicit !=0 tests in order to suppress warning messages in Borland-C. Ticket #2985 (CVS 4850) (check-in: d4ab14b9 user: drh tags: trunk)
2008-03-09
02:51
Fix for #2981 - specifically use "tclsh8.4" if it's available (CVS 4849) (check-in: 8ced1d64 user: mlcreech tags: trunk)
02:20
Fix for #1802, #2041, and #2270 - link libsqlite with -lrt (CVS 4848) (check-in: ccd70a6e user: mlcreech tags: trunk)
02:00
Change <sqlite3.h> to "sqlite3.h" in #includes (CVS 4847) (check-in: 98e55fa4 user: mlcreech tags: trunk)
01:38
Use autoconf to detect presence of gmtime_r() and localtime_r() (CVS 4846) (check-in: 9894d2ce user: mlcreech tags: trunk)
01:14
Replace SQLITE_EXTERN with SQLITE_API in exported variables when generating the amalgamation. Should fix #2982 (CVS 4845) (check-in: f134c282 user: mlcreech tags: trunk)
2008-03-08
12:37
Clarify the language in the sqlite3_create_function() documentation. Ticket #2980. (CVS 4844) (check-in: 2db43738 user: drh tags: trunk)
12:23
Fix asserts in prepare.c to handle the misuse case of ppStmt==0. (CVS 4843) (check-in: 788b2c6b user: drh tags: trunk)
06:16
Move a comment within the Parse structure to make it more accurate. No actual code changes. (CVS 4842) (check-in: 0ca14399 user: danielk1977 tags: trunk)
2008-03-07
21:37
Make sure all necessary mutexes are held prior to initializing the schema in sqlite3_table_column_metadata(). (CVS 4841) (check-in: 4996ff93 user: drh tags: trunk)
21:04
Fix an alignment problem in test_async.c. (CVS 4840) (check-in: 752d8e21 user: drh tags: trunk)
20:14
Another fix to the OsUnlock I/O error logic. (CVS 4839) (check-in: 22bd537e user: drh tags: trunk)
19:51
Correctly handle I/O errors that occur during OsUnlock(). Before this fix, an I/O error during OsUnlock() could lead to database corruption. That is not a serious problem, though, since errors during OsUnlock() are not possible on most systems. (CVS 4838) (check-in: b4c1258e user: drh tags: trunk)
15:34
Cleanup the locking-style code in os_unix.c. (CVS 4837) (check-in: 40f55c09 user: drh tags: trunk)
03:20
Trivial documentation fixes (CVS 4836) (check-in: 9819cefb user: mlcreech tags: trunk)
02:20
Add missing prefix & exec_prefix to Makefile - fixes #2979. (CVS 4835) (check-in: 4cda019b user: mlcreech tags: trunk)
00:27
Updates to the locking-style code in os_unix.c. Not yet working. (CVS 4834) (check-in: 6ebce3b7 user: drh tags: trunk)
2008-03-06
16:28
Clean up recent autoconf-related additions, add config.h to the amalgamation (CVS 4833) (check-in: 80446230 user: mlcreech tags: trunk)
09:58
Handle non-autoconf build correctly with new changes (CVS 4832) (check-in: e2a9f5f1 user: mlcreech tags: trunk)
09:19
Typo in amalgamation non-x86 builds (CVS 4831) (check-in: a8424e06 user: mlcreech tags: trunk)
09:16
Don't try and include common.h on stand-alone amalgamation builds (CVS 4830) (check-in: 9898320b user: mlcreech tags: trunk)
09:03
Remove amalgamation on "make clean" (fixes #2559) (CVS 4829) (check-in: e03802f3 user: mlcreech tags: trunk)
08:54
Miscellaneous autoconf cleanups - get rid of TARGET_CFLAGS, fix header list (CVS 4828) (check-in: a674f76d user: mlcreech tags: trunk)
08:09
Respect user's configured bindir/libdir/includedir if present (fixes #558) (CVS 4827) (check-in: 48c9fa97 user: mlcreech tags: trunk)
07:51
Actually use TARGET_CFLAGS on autoconf-driven builds (CVS 4826) (check-in: dda3d658 user: mlcreech tags: trunk)
07:36
Add headers for use with autoconf (missing from previous checkin) (CVS 4825) (check-in: 4513a5f4 user: mlcreech tags: trunk)
07:35
Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824) (check-in: 54839a84 user: mlcreech tags: trunk)
07:19
Include inttypes.h when available, add support for intptr_t (CVS 4823) (check-in: 88698fbd user: mlcreech tags: trunk)
04:14
Make extension loading more easily configurable. Fixes #2977 (CVS 4822) (check-in: fc401ad9 user: mlcreech tags: trunk)
04:14
Make extension loading more easily configurable. Fixes #2977 (CVS 4821) (check-in: 2a2e8b64 user: mlcreech tags: trunk)
2008-03-04
19:03
Build amalgamation by default on autoconf-driven builds, add --disable-amalgamation option to configure script (CVS 4820) (check-in: f9391fa0 user: mlcreech tags: trunk)
17:45
Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819) (check-in: 9c6694bb user: mlcreech tags: trunk)
2008-03-03
18:47
Additional documentation and tests making it clear that whenever sqlite3_prepare() fails it sets *ppStmt to NULL. (CVS 4818) (check-in: 39769f00 user: drh tags: trunk)
2008-03-02
05:40
Add fts2/3 files to autoconf-generated Makefile (needed for amalgamation) (CVS 4817) (check-in: 89666f94 user: mlcreech tags: trunk)
05:34
Add mem5.c to source files in autoconf-generated Makefile (CVS 4816) (check-in: 8c1b6357 user: mlcreech tags: trunk)
03:32
Trivial text cleanups (CVS 4815) (check-in: bbf9f0e6 user: mlcreech tags: trunk)
2008-03-01
23:34
Fix typo for #2968 (CVS 4814) (check-in: d1f6b243 user: mlcreech tags: trunk)
2008-02-27
03:22
Add bitvec.lo to LIBOBJS and corresponding make rule (CVS 4813) (check-in: 1d68f3af user: mlcreech tags: trunk)
2008-02-26
18:40
Fix a math error when computing how much memory to allocate for a new pager. (CVS 4812) (check-in: 690d05ce user: drh tags: trunk)
16:16
Add commentary to clarify what is happening when an I/O error occurs while writing dirty pages to the database file. (CVS 4811) (check-in: afe49d81 user: drh tags: trunk)
14:46
Add an assert() to verify that the dirty-page list in the pager is valid before using it. (CVS 4810) (check-in: 942daf94 user: drh tags: trunk)
06:05
Have sqlite3PagerPagecount() return -1 when the pager is in error state. Fix for #2961. (CVS 4809) (check-in: 427e7f8b user: danielk1977 tags: trunk)
03:46
Add bitvec to build (CVS 4808) (check-in: c690dd68 user: mlcreech tags: trunk)
2008-02-23
21:55
Fix a bug in the LIKE optimizer that occurs when the last character before the wildcard is an upper-case 'Z'. Ticket #2959. (CVS 4807) (check-in: 610574b2 user: drh tags: trunk)
2008-02-21
21:30
Additional test cases. (CVS 4806) (check-in: 74126bf4 user: drh tags: trunk)
20:40
Accept "Z" as the zulu timezone at the end of date strings. (CVS 4805) (check-in: 4c9a7b42 user: drh tags: trunk)
20:17
Updates to API documentation contained in comments of sqlite.h.in. (CVS 4804) (check-in: 08276df3 user: drh tags: trunk)
02:09
Test coverage and documentation improvements. (CVS 4803) (check-in: e0baceac user: drh tags: trunk)
2008-02-20
00:00
Make multiple attempts to delete files marked DELETE_ON_CLOSE under WinCE. Ticket #2950. (CVS 4802) (check-in: 5bc8e564 user: drh tags: trunk)
2008-02-19
18:29
Remove instances of strcpy() from test code. Use memcpy() or sqlite3_snprintf() instead. (CVS 4801) (check-in: 7b50140d user: drh tags: trunk)
18:28
Remove an instance of sprintf() from the VM implementation. SQLite should not use sprintf() from the C library - it has its own implementation. (CVS 4800) (check-in: 68f5dddd user: drh tags: trunk)
15:44
Avoid the use of UTF16 functions in code that is part of a build when UTF16 support is omitted. Ticket #2949. (CVS 4799) (check-in: 9db346de user: drh tags: trunk)
15:20
Make sure SQLITE_OPEN_DELETEONCLOSE is ignored by sqlite3_open_v2(). (CVS 4798) (check-in: 33e26f6a user: drh tags: trunk)
15:15
Change non-exported memory interfaces to following the naming conventions. (CVS 4797) (check-in: 94774b41 user: drh tags: trunk)
14:59
Use 16-bit integers for indexing within a page in btree. Tighter bounds on the maximum number of cells within one page. (CVS 4796) (check-in: 8fdbe4ab user: drh tags: trunk)
2008-02-18
22:24
Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c. Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795) (check-in: 63da5d97 user: drh tags: trunk)
14:47
Add the Bitvec object for tracking which pages have been journalled. This reduces memory consumption and runs faster than the bitmap approach it replaced. (CVS 4794) (check-in: 7c57bdbc user: drh tags: trunk)
2008-02-16
16:21
The power-of-two first-fit memory allocator is now working. (CVS 4793) (check-in: d134d29c user: drh tags: trunk)
2008-02-15
17:38
Fix a bug in the ".show" command of the CLI. Ticket #2942. (CVS 4792) (check-in: dedf5f23 user: drh tags: trunk)
14:33
Do not apply the query flattening optimization when the outer query is an aggregate and the inner query contains an ORDER BY clause. Ticket #2943. (CVS 4791) (check-in: 6d33cbd9 user: drh tags: trunk)
2008-02-14
23:44
Fix a bug in EXPLAIN growing out of the new Mem implementation. (CVS 4790) (check-in: 4df62a55 user: drh tags: trunk)
23:26
Add the experimental mem5.c memory allocator. Allocate the content part of cache pages separately from the header. (See check-ins (4495) and (4409)). (CVS 4789) (check-in: 669ece8c user: drh tags: trunk)
23:24
Fix a typo in a comment used to generate documentation. (CVS 4788) (check-in: 65e66dd8 user: drh tags: trunk)
15:31
Fix some VdbeMemCopy() related problems. (CVS 4787) (check-in: aca2bee8 user: danielk1977 tags: trunk)
05:44
Fix a problem in the ptrchng.test script. (CVS 4786) (check-in: 30a45f07 user: danielk1977 tags: trunk)
00:00
small correctness fix for os2CheckReservedLock() (CVS 4785) (check-in: f364d934 user: pweilbacher tags: trunk)
2008-02-13
23:48
always use random access mode when opening files (like on Windows) (CVS 4784) (check-in: 9f4da101 user: pweilbacher tags: trunk)
18:25
Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) (check-in: 990237e2 user: danielk1977 tags: trunk)
2008-02-12
16:52
When materializing a view for an UPDATE or DELETE make use of the WHERE clause to limit the number of rows materialized. Ticket #2938. (CVS 4782) (check-in: 5ab71c3a user: drh tags: trunk)
2008-02-09
14:30
ALTER TABLE uses double-quotes for quoting table names. (CVS 4781) (check-in: 607247c2 user: drh tags: trunk)
2008-02-08
18:25
Modify shared.test to do case independent comparison of filenames. To account for the fact that "c:/test.db" and "C:/test.db" are the same file. (CVS 4780) (check-in: 63915b54 user: danielk1977 tags: trunk)
18:25
Change the test code used for speed tests so that it does not throw an exception if the time command returns "0 microseconds per iteration". (CVS 4779) (check-in: f37e8637 user: danielk1977 tags: trunk)
2008-02-06
23:52
Do not release registers used to hold the results of a compound select after just the first select has run. Ticket #2927. For now, we will never release the registers used to hold the result set, since the same register set will be used for each select. This is not an unacceptable register leak and it is the safest approach. (CVS 4778) (check-in: e9fcb793 user: drh tags: trunk)
16:58
Version 3.5.6 (CVS 4777) (check-in: 1d82ab69 user: drh tags: trunk)
14:14
Bump the version number to 3.5.6. (CVS 4776) (check-in: 3444efab user: drh tags: trunk)
14:11
Add the sqlite3_result_error_code() application interface. Use it in the ATTACH function so that a failed attach returns a proper error code. Ticket #2914. (CVS 4775) (check-in: c2461620 user: drh tags: trunk)
2008-02-02
20:47
Delete unused "pager3_refinfo_enable" flag and its associated debugging macros. Ticket #2923. (CVS 4774) (check-in: fccb217d user: drh tags: trunk)
04:47
When OMIT_TRIGGER is defined, provide a no-op macro for sqlite3SelectMask(). Fix for #2918. (CVS 4773) (check-in: 1d478e90 user: danielk1977 tags: trunk)
02:48
Add more test cases to prove that ticket #2920 does not exist in CVS HEAD. The problem was previously fixed by the changes to ticket #2686. Ticket #2920 is a duplicate of #2686. (CVS 4772) (check-in: b3259e87 user: drh tags: trunk)
2008-02-01
19:44
Use the buffer size as limit for temp file names. This is done for windows too, see check-in (4595). (CVS 4771) (check-in: 99275bcd user: pweilbacher tags: trunk)
19:42
fix broken OS/2 mutex implementation (Ticket #2905) (CVS 4770) (check-in: 05afd86e user: pweilbacher tags: trunk)
15:34
Minor fixes to FTS3 so that it works better when appended to the end of the amalgamation. (CVS 4769) (check-in: 62ede669 user: drh tags: trunk)
13:44
Fix the build scripts for windows binaries. ticket #2916. (CVS 4768) (check-in: c336b231 user: drh tags: trunk)
01:19
Modify the printf test script so that it does not depend on the platform printf, so that we do not spurious test failures when moving from one platform to another. (CVS 4767) (check-in: 514d7e47 user: drh tags: trunk)
00:31
make os2Truncate() actually do something and fix os2FullPathname() to be more elegant and work more correctly in all cases (Ticket #2904) (CVS 4766) (check-in: 921c7a0a user: pweilbacher tags: trunk)
2008-01-31
19:34
Fix a problem with virtual tables and left joins introduced by check-in (4761). Ticket #2894 and #2913. (CVS 4765) (check-in: ebeac2a4 user: drh tags: trunk)
17:25
Version 3.5.5 (CVS 4764) (check-in: cb5bf464 user: drh tags: trunk)
17:21
Remove a broken hyperlink from the API documentation. (CVS 4763) (check-in: 5fbda121 user: drh tags: trunk)
16:36
Fixes to API definition comments in sqlite.h.in. Updates to the build script - ticket #2874. (CVS 4762) (check-in: c23f51de user: drh tags: trunk)
15:53
Make sure virtual table interfaces are not invoked after EOF when the virtual table appears in an outer join. Ticket #2894. (CVS 4761) (check-in: face510b user: drh tags: trunk)
15:31
Add "return rc;" to the end of sqlite3_test_control(). (CVS 4760) (check-in: b547e7ea user: danielk1977 tags: trunk)
14:54
Fix assertion fault in sqllimits1.test encountered when auto_vacuum is enabled. Correct the sqllimit1 tests to account for extra pages inserted by auto_vacuum. (CVS 4759) (check-in: 9b207d1a user: drh tags: trunk)
14:43
Add the sqlite3_test_control() API. Use it to control the fault injector. (CVS 4758) (check-in: 413ddade user: drh tags: trunk)
13:35
Version number to 3.5.5. Include FTS3 in the amalgamation by default (but disabled unless compiled with -DSQLITE_ENABLE_FTS3). Fix a memory allocation problem. (CVS 4757) (check-in: 72411043 user: drh tags: trunk)
12:26
Additional API documentation updates in sqlite.h.in. (CVS 4756) (check-in: 9b6ab9fa user: drh tags: trunk)
2008-01-30
16:16
Improvements to the API documentation found in comments in the sqlite.h.in source file. (CVS 4755) (check-in: 0b8b5c2e user: drh tags: trunk)
16:14
Disable the likely() and unlikely() macros as they do not work some older versions of GCC. (CVS 4754) (check-in: e01f9ed9 user: drh tags: trunk)
2008-01-28
22:09
Committed changes for ticket #2909 (CVS 4753) (check-in: 29ce204d user: aswift tags: trunk)
15:19
Fix an incorrect comment on the Mem object in vdbeInt.h. (CVS 4752) (check-in: 50c9cf9b user: drh tags: trunk)
2008-01-27
10:35
remove an unused variable (CVS 4751) (check-in: 88846195 user: rse tags: trunk)
2008-01-25
15:04
Error messages says "no such view" instead of "no such table" when trying to DROP a VIEW that does not exist. (CVS 4750) (check-in: 50815a82 user: drh tags: trunk)
2008-01-24
14:27
Fix a segfault that may follow a malloc failure during compilation of an INSTEAD OF trigger. (CVS 4749) (check-in: c6635a71 user: danielk1977 tags: trunk)
2008-01-23
17:13
Fix another segfault that can occur following a malloc failure in the SQL compiler. (CVS 4748) (check-in: 9d98a3f0 user: danielk1977 tags: trunk)
15:44
Fix a couple of segfaults that could occur after a malloc() failure in the SQL compiler. (CVS 4747) (check-in: 6bd8db38 user: danielk1977 tags: trunk)
14:51
Testing coverage enhancements to sqlite3_get_table() and to the SELECT code generator. (CVS 4746) (check-in: 45c59802 user: drh tags: trunk)
12:52
Improvements to test coverage in the lemon-generated parser and in the sqlite3_get_table() interface. (CVS 4745) (check-in: 9f95d79d user: drh tags: trunk)
03:03
Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when compiling without -DSQLITE_DEBUG=1. (CVS 4744) (check-in: 5375ad6b user: drh tags: trunk)
2008-01-22
23:37
Improved test coverage for the tokenizer and sqlite3_complete() interface. Fix bugs in parsing blob literals and SQL variables beginning with $. (CVS 4743) (check-in: c82033fa user: drh tags: trunk)
21:30
Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) (check-in: 1a335e18 user: drh tags: trunk)
19:34
Fix a bug introduced by checkin (4739). (CVS 4741) (check-in: c8394ac2 user: drh tags: trunk)
16:35
Detect and report a particular type of database corruption that would formerly cause a segfault. (CVS 4740) (check-in: f47cf3cc user: drh tags: trunk)
16:35
Detect and report a particular type of database corruption that would formerly cause a segfault. (CVS 4739) (check-in: 6ed2d9f8 user: drh tags: trunk)
14:50
Remove dead code from the lemon-generated parser. Better testing of the sqlite3_file_control() interface, and in particular make sure the interface works on :memory: databases. (CVS 4738) (check-in: 83ca4fc7 user: drh tags: trunk)
11:50
Move the test (sqlite3_simulate_device) functionality out of the main code and into a test vfs. (CVS 4737) (check-in: 17e7bd6c user: danielk1977 tags: trunk)
01:48
Changes to lemon to generate additional comments in the output file and to remove unreachable code. Additional test cases for improved test coverage. (CVS 4736) (check-in: 2a0bc1e1 user: drh tags: trunk)
2008-01-21
16:47
Additional test cases for the RTRIM collation. (CVS 4735) (check-in: 51452d20 user: drh tags: trunk)
16:22
Miscellaneous test coverage improvements. (CVS 4734) (check-in: 720bc20a user: drh tags: trunk)
13:04
Remove some unused branches from internal function sqlite3PagerDontRollback(). (CVS 4733) (check-in: 3d4252b0 user: danielk1977 tags: trunk)
2008-01-20
23:19
Add the RTRIM collating sequence. Only implemented for UTF8. Still considered experimental and may be removed if we find adverse impact elsewhere in the system. (CVS 4732) (check-in: 0bf4e7fe user: drh tags: trunk)
2008-01-19
23:50
Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731) (check-in: 010f7b78 user: drh tags: trunk)
20:11
Miscellaneous code simplifications and cleanup and test coverage enhancements. (CVS 4730) (check-in: af129b6d user: drh tags: trunk)
03:35
Cleanup and simplification of constraint processing. Simplifications to the VM for better test coverage. (CVS 4729) (check-in: d9ebe9d7 user: drh tags: trunk)
2008-01-18
17:03
Fix test instrumentation problems on shared_err.test. (CVS 4728) (check-in: 5aef5b0d user: drh tags: trunk)
14:17
Remove an absolute path from crash5.test. (CVS 4727) (check-in: 42d8a377 user: danielk1977 tags: trunk)
14:08
Remove the OP_HexBlob instruction and code OP_Blob directly. Reduce the amount of memory allocation required to encode blob literals. Remove the "out2" instruction type. Other minor optimizations. (CVS 4726) (check-in: 0e50c020 user: drh tags: trunk)
13:42
Add a test (and fix) for possible corruption if malloc() fails during a CREATE INDEX statement, the application continues with the transaction, then crashes. (CVS 4725) (check-in: 65245d99 user: danielk1977 tags: trunk)
11:33
Add a couple of missing calls to pagerLeave(). (CVS 4724) (check-in: 87534dff user: danielk1977 tags: trunk)
02:31
Fix a bug in the test scripts that was preventing many scripts from running with all.test. Lots of hidden failures now come to light. (CVS 4723) (check-in: 251c78a9 user: drh tags: trunk)
2008-01-17
22:27
Test coverage for date.c. (CVS 4722) (check-in: a676f949 user: drh tags: trunk)
20:26
Improved test coverage in date.c. Report an error if a malloc fails within strftime(). (CVS 4721) (check-in: 495fb416 user: drh tags: trunk)
17:27
Remove unused p4 element from the {quote: VdbeOpList} object. (CVS 4720) (check-in: 1c37d7b6 user: drh tags: trunk)
17:15
Reuse registers better in the inner loop of a SELECT statement. (CVS 4719) (check-in: 5ba4e5ad user: drh tags: trunk)
16:22
Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) (check-in: 706b41b7 user: drh tags: trunk)
02:36
Registerification of the WHERE clause logic. (CVS 4717) (check-in: 5581160f user: drh tags: trunk)
02:36
Registerification of the WHERE clause logic. (CVS 4716) (check-in: b3a141b2 user: drh tags: trunk)
2008-01-16
18:20
Use 1<<$x instead of pow(2,$x) in the test suite code. (CVS 4715) (check-in: 3a289b6d user: danielk1977 tags: trunk)
17:46
Get all tests running without memory leaks. (CVS 4714) (check-in: 5807921f user: drh tags: trunk)
08:24
Work around using (regexp) in the (ifcapable) function of the test suite. So that simpler versions of tcl can call it. (CVS 4713) (check-in: 3aa5606b user: danielk1977 tags: trunk)
2008-01-15
02:22
Fix for a couple of minor memory leaks. (CVS 4712) (check-in: a13d3e95 user: drh tags: trunk)
2008-01-14
15:20
Fix for ticket #2883. (CVS 4711) (check-in: 187f41f5 user: drh tags: trunk)
2008-01-13
19:02
Fix some issues with out-of-memory recovery. (CVS 4710) (check-in: 23181f86 user: drh tags: trunk)
2008-01-12
21:35
The sqlite3_trace() callback now prints a message as each trigger fires within a statement. (CVS 4709) (check-in: 110c000d user: drh tags: trunk)
19:03
Continuing work toward converting the VM to a register machine. (CVS 4708) (check-in: 426f31ec user: drh tags: trunk)
12:48
Continuing work toward converting the VM into a register machine. (CVS 4707) (check-in: a6dddebc user: drh tags: trunk)
2008-01-11
15:27
Do explicit range tests before attempting to convert a 64-bit float into a 64-bit integer. Some systems (windows) seem to throw exceptions if the conversion is out of range. Ticket #2880. (CVS 4706) (check-in: 4744257d user: drh tags: trunk)
00:06
Attempt to work around a bug in the Borland BCC 5.5.1 compiler. Ticket #2880. (CVS 4705) (check-in: 6de0ee49 user: drh tags: trunk)
2008-01-10
23:50
More work toward converting the VM into a register-based machine. (CVS 4704) (check-in: 8cbd4651 user: drh tags: trunk)
03:46
Continuing work toward registerizing the code generator. (CVS 4703) (check-in: 173698c9 user: drh tags: trunk)
00:08
Fix mixing quote excapes in an awk script. Ticket #2877. (CVS 4702) (check-in: 05fbca91 user: drh tags: trunk)
2008-01-09
23:21
Fix a test script problem associated with the new crash4.test file. Ticket #2882. (CVS 4701) (check-in: 1134c5ea user: drh tags: trunk)
23:04
All essential opcodes can now operate out of registers and completely avoid the stack. Many still optionally use the stack to support legacy code generation, but the stack is not required. The next step is to update all code generation to avoid using the stack. (CVS 4700) (check-in: e3cf1c1c user: drh tags: trunk)
18:31
Fix the build for AIX and other systems where "char" is unsigned by default. (CVS 4699) (check-in: 47672af0 user: drh tags: trunk)
02:15
Continued work toward converting to a register-based VM. (CVS 4698) (check-in: 92deff07 user: drh tags: trunk)
2008-01-08
23:54
Registerify the comparison opcodes. (CVS 4697) (check-in: 8862ce9c user: drh tags: trunk)
18:57
Finish registerizing the core logic of INSERT and UPDATE. (CVS 4696) (check-in: 5fd10367 user: drh tags: trunk)
16:03
Add crash4.test with additional crash testing. (CVS 4695) (check-in: 87b4ac4b user: drh tags: trunk)
15:18
Add additional randomness to crash tests. (CVS 4694) (check-in: 3ccce1f5 user: drh tags: trunk)
02:57
Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) (check-in: b9bf509e user: drh tags: trunk)
2008-01-07
19:20
Registerify the AUTOINCREMENT processing and the OP_IsNull and OP_NotNull operators. (CVS 4692) (check-in: aa48867c user: drh tags: trunk)
10:16
Comment changes in select.c. (CVS 4691) (check-in: 38020592 user: danielk1977 tags: trunk)
2008-01-06
00:25
Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) (check-in: 8201f717 user: drh tags: trunk)
2008-01-05
18:48
Modify OP_RegMakeRec to take a base register and count and optionally store results in the register specified by P3. (CVS 4689) (check-in: 6bb1b1bc user: drh tags: trunk)
18:44
Fix a memory leak introduced with #4687. (CVS 4688) (check-in: 2b98b0fc user: danielk1977 tags: trunk)
17:39
First pass at optimizing max()/min() as described in #2853. Some refinements to come. (CVS 4687) (check-in: c449e04f user: danielk1977 tags: trunk)
16:29
Registerify binary operators. Add register tracing to debugging output. (CVS 4686) (check-in: 66396d2f user: drh tags: trunk)
06:51
Expression code generator takes advantage of recent opcode changes. (CVS 4685) (check-in: 6c78d2a4 user: drh tags: trunk)
05:38
Register-ify the OP_ForceInt opcode. (CVS 4684) (check-in: 32380dca user: drh tags: trunk)
05:20
Register-ify the OP_AddImm and all casting opcodes. Omit the OP_MemIncr opcode. (CVS 4683) (check-in: 3e8a07dd user: drh tags: trunk)
04:06
Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace with OP_Copy, OP_SCopy, and OP_Move. Add the infrastructure for operation properties in1, in2, in3, out2, and out3 but do not yet use any of these. (CVS 4682) (check-in: cc149eb9 user: drh tags: trunk)
2008-01-04
22:01
Implement the out2-prerelease opcode design pattern. (CVS 4681) (check-in: fe057a88 user: drh tags: trunk)
19:33
Allow the P2 operand to be negative on opcodes that are not jumps. (CVS 4680) (check-in: 717bcd11 user: drh tags: trunk)
19:12
Fix mkopcodeh.awk so that it works on a mac. (CVS 4679) (check-in: 59d3dfa4 user: drh tags: trunk)
19:10
Some modifications to insert.c to work without using the stack. (CVS 4678) (check-in: d9ac6bee user: danielk1977 tags: trunk)
16:50
Replace the NOPUSH_MASKs with a bit-vector mechanism that can contain several different properties about each opcode. (CVS 4677) (check-in: 042dcb96 user: drh tags: trunk)
13:57
Modify FifoRead and FifoWrite to work exclusively with memory cells. (CVS 4676) (check-in: 2c913908 user: danielk1977 tags: trunk)
13:24
Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675) (check-in: 173f2813 user: danielk1977 tags: trunk)
11:01
Add OP_MemSet, for setting a memory cell to a string value. (CVS 4674) (check-in: 8bb9f970 user: danielk1977 tags: trunk)
2008-01-03
23:44
Change the sqlite3ExprCode() function so that callers can request that the result of the expression be left on the stack or in a register. (CVS 4673) (check-in: 61bfb77c user: drh tags: trunk)
18:56
Fix typo in comment. Ticket #2870. (CVS 4672) (check-in: e97e4578 user: danielk1977 tags: trunk)
18:44
Update OP_Rowid, OP_Column and related opcodes to use registers. (CVS 4671) (check-in: 4f396707 user: drh tags: trunk)
18:39
Modify VFilter and VRename to use registers instead of the vdbe stack for inputs. (CVS 4670) (check-in: 253ed40a user: danielk1977 tags: trunk)
18:03
Registers (aka memory cells) in the VM are now numbered starting with 1 instead of 0. A register number of 0 means "no such register". (CVS 4669) (check-in: 0b849805 user: drh tags: trunk)
17:31
Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668) (check-in: 955b15a0 user: danielk1977 tags: trunk)
11:50
Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) (check-in: 7e8330c8 user: danielk1977 tags: trunk)
09:51
Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) (check-in: 46501f49 user: danielk1977 tags: trunk)
08:18
Change the output of vdbe_trace etc. to include operands p3 and p5. (CVS 4665) (check-in: 76f2040b user: danielk1977 tags: trunk)
08:08
Combine the OP_Column and OP_DfltValue opcodes. (CVS 4664) (check-in: c30f8206 user: danielk1977 tags: trunk)
07:54
Change OP_OpenRead and OP_OpenWrite so that the database number is read from the P3 operand, not the stack. (CVS 4663) (check-in: 35da261d user: danielk1977 tags: trunk)
07:09
Fix EXPLAIN and EXPLAIN query plan to work with new opcode format. (CVS 4662) (check-in: b166c33a user: danielk1977 tags: trunk)
01:28
Revamp sqlite3VdbeAddOpList() so that the structure holds integer values for P1, P2, and P3. (CVS 4661) (check-in: 4dc507d8 user: drh tags: trunk)
00:01
Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is added (though not currently used.) Add routines sqlite3VdbeAddOpX() where X is one of 0, 1, 2, 3, or 4. (CVS 4660) (check-in: 027875e4 user: drh tags: trunk)
2008-01-02
17:25
Add operands p4 and p5 to the VdbeOp structure. (CVS 4659) (check-in: ad528735 user: drh tags: trunk)
17:11
Minor optimizations for sub-selects in EXISTS(...) expressions: Discard any DISTINCT or ORDER BY clauses and do not calculate any column values. (CVS 4658) (check-in: fbd17a89 user: danielk1977 tags: trunk)
16:27
Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657) (check-in: 86dcdfe6 user: danielk1977 tags: trunk)
14:28
Add opcodes OP_ResultRow and OP_RegMakeRec which are register-based equivalents to OP_Callback and OP_MakeRecord. Use the new opcodes. (CVS 4656) (check-in: 4c7f35da user: drh tags: trunk)
13:05
Remove a surplus OP_Close from delete.c. Fixes a problem with (4654). (CVS 4655) (check-in: 03cc91b3 user: drh tags: trunk)
11:50
Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654) (check-in: f1966a8a user: danielk1977 tags: trunk)
04:41
Add some extra tests for the recent trigger compilation optimization. (CVS 4653) (check-in: de54dad8 user: danielk1977 tags: trunk)
00:34
Begin setting a foundation on which to convert the VM from a stack-based to a register-based machine. Everything is still mostly stack based with this check-in. This change merely begins adding infrastructure to support a register-based architecture. (CVS 4652) (check-in: 051ec01f user: drh tags: trunk)
2008-01-01
19:02
Optimize trigger compilation to avoid populating the OLD.* and NEW.* pseudo-tables with data that will never be used. Some testing to come. (CVS 4651) (check-in: e08a33ed user: danielk1977 tags: trunk)
06:19
Silence a harmless unitialised variable warning in btree.c. Ticket #2862. (CVS 4650) (check-in: b51782cc user: danielk1977 tags: trunk)
05:49
Define SQLITE_CORE=1 at the start of the amalgamation file for the benefit of any extension source code (i.e. fts3) appended to it. Ticket #2858. (CVS 4649) (check-in: 6dea8c16 user: danielk1977 tags: trunk)
2007-12-30
23:38
fix case in os2GetTempname() where none of the usual environment variables are set to not overwrite two unrelated bytes (CVS 4648) (check-in: 9719a063 user: pweilbacher tags: trunk)
23:35
simplify os2FullPathname() and at the same time make the allocations more robust (CVS 4647) (check-in: 6f8952a8 user: pweilbacher tags: trunk)
23:29
move variable declaration to be able to compile sqlite3_mutex_alloc() with older compilers (like EMX/gcc 2.8.1) (CVS 4646) (check-in: a568a9cf user: pweilbacher tags: trunk)
2007-12-29
13:39
Add experimental pragma "quick_check", a reduced version of integrity_check that runs without most of the overhead of the full integrity_check. (CVS 4645) (check-in: 2ddc8d72 user: danielk1977 tags: trunk)
13:18
Mem3.c enhanced so that an allocation of N bytes only requires (N+11)&~7 bytes instead of (N+15)&~7 bytes of heap storage. Minimum heap usage per allocation is still 16 bytes. 8-byte alignment is preserved. (CVS 4644) (check-in: d027f91c user: drh tags: trunk)
2007-12-27
15:12
Fix a race condition that can occur when reloading the database schema in shared-cache mode. (CVS 4643) (check-in: b37babef user: danielk1977 tags: trunk)
2007-12-21
04:47
Fix for #2854. "BEGIN EXCLUSIVE" excludes other shared cache users from using the database. (CVS 4642) (check-in: 2e59b1d0 user: danielk1977 tags: trunk)
00:02
Fix some issues with lemon. Tickets #2852 and #2835. (CVS 4641) (check-in: 5283e0d1 user: drh tags: trunk)
2007-12-19
09:20
Add the ioerr3.test file, that found an error in br3317. The error is not present in this branch. (CVS 4640) (check-in: d3efec14 user: danielk1977 tags: trunk)
2007-12-18
17:50
Fix a problem with SQLITE_MAX_SQL_LENGTH introduced by check-in (4636). Ticket #2851 (CVS 4639) (check-in: cdd866f5 user: drh tags: trunk)
15:41
In the CLI, quote strings that contain the separator character. Ticket #2850. (CVS 4638) (check-in: 493a17c4 user: drh tags: trunk)
11:19
Fix for typo in main.mk: the output of target sqlite3 was testcli. (CVS 4637) (check-in: 15675dc5 user: danielk1977 tags: trunk)
2007-12-17
16:20
When SQLITE_MAX_SQL_LENGTH is 0, disable the limit. Make the default 0. Once again build the sqlite3 CLI from individual source files so that it can be built on systems that lack tclsh. Tickets #2845 and #2846. (CVS 4636) (check-in: 07aeca3b user: drh tags: trunk)
2007-12-14
17:39
Version 3.5.4 (CVS 4635) (check-in: cf4a11b2 user: drh tags: trunk)
17:24
Update library version number to 3.5.4. (CVS 4634) (check-in: 5c653bfc user: drh tags: trunk)
17:24
Fix a C++-ism in recent changes to select.c. (CVS 4633) (check-in: 4a008050 user: drh tags: trunk)
17:22
Change to the crash simulator to give better diagnostics in case it runs out of memory while using the mem3.c allocator. (CVS 4632) (check-in: 0d5747db user: drh tags: trunk)
16:11
Fix a typo in the previous check-in. Also simplify a line in select.c. (CVS 4631) (check-in: 86f45d7b user: drh tags: trunk)
15:12
Fix an out-of-memory NULL pointer defer in the code generator. Ticket #2843. (CVS 4630) (check-in: b821b6ed user: drh tags: trunk)
2007-12-13
21:54
Change all instances of "it's" in comments to either "its" or "it is", as appropriate, in case the comments are ever again read by a pedantic grammarian. Ticket #2840. (CVS 4629) (check-in: 4e91a267 user: drh tags: trunk)
19:15
Fix a memory leak that can occur following a malloc() failure. (CVS 4628) (check-in: 993a2130 user: danielk1977 tags: trunk)
18:29
Fix the location of a #include in test_thread.c. ticket #2826. (CVS 4627) (check-in: 6129fce8 user: drh tags: trunk)
18:24
Add test cases for errors in "IN(SELECT ...)" expressions where the SELECT statement is a compound SELECT. No faults found. (CVS 4626) (check-in: 49b67adf user: danielk1977 tags: trunk)
18:20
Add new makefile target for "testcli" that builds a CLI using individual source files instead of the amalgamation. Ticket #2838. (CVS 4625) (check-in: b6f04e5b user: drh tags: trunk)
17:50
Additional test cases for tkt2822. Fix a related bug in printf(). (CVS 4624) (check-in: 8f184e40 user: drh tags: trunk)
08:15
Return an error if the user attempts to rename a view. Related to (but not a fix for) #2831. (CVS 4623) (check-in: 19d56d99 user: danielk1977 tags: trunk)
07:58
Adjust the test suite to account for recent changes related to #2822. Most changes are related to English language error messages only. (CVS 4622) (check-in: 2f88b9b3 user: danielk1977 tags: trunk)
03:45
ORDER BY in a compound SELECT will first match against the left-most SELECT. If there is no match there, it begins working its way to the right. (CVS 4621) (check-in: 56063ec8 user: drh tags: trunk)
02:45
Towards getting ORDER BY to match against the correctin columns. This version only looks at the left-most column in a compound SELECT. That is the correct thing to do, but not what SQLite has historically done. (CVS 4620) (check-in: bbddf16a user: drh tags: trunk)
2007-12-12
22:24
Minor cleanup changes on the OP_StackDepth opcode. Added the sidedelete test for additional testing of ticket #2832. (CVS 4619) (check-in: c0689409 user: drh tags: trunk)
18:05
Remove an (explain) accidentally left in tkt2832.test. (CVS 4618) (check-in: 48947e2b user: danielk1977 tags: trunk)
17:42
Try to find some more stack leaks by adding OP_StackDepth to loops in DML statements. None were found. (CVS 4617) (check-in: 12c3029b user: danielk1977 tags: trunk)
17:19
Remove a couple of lines in delete.c that weren't doing anything. (CVS 4616) (check-in: 86332c79 user: danielk1977 tags: trunk)
16:06
Fix some problems similar to #2832, but caused by triggers instead of an OR REPLACE clause. (CVS 4615) (check-in: ee98ae17 user: danielk1977 tags: trunk)
14:46
Test file containing minimal example of bug #2832. (CVS 4614) (check-in: ed2e61a9 user: danielk1977 tags: trunk)
12:25
Fix database corrupting code generation error for UPDATE OR REPLACE. ticket #2832. Still need to add test cases and additional defensive logic to avoid future occurrences of similar problems. (CVS 4613) (check-in: 18e10f81 user: drh tags: trunk)
12:00
Add a new OP_StackDepth opcode to help detect VDBE stack leaks early, before they cause damage. For diagnostics in ticket #2832. (CVS 4612) (check-in: 3fd6a267 user: drh tags: trunk)
04:38
Fix test numbering in tkt2822.test. Ticket #2830. (CVS 4611) (check-in: 8fe8e9c4 user: danielk1977 tags: trunk)
2007-12-11
20:04
Fix a comment on the SQLITE_SQL_MAX_LENGTH definition. (CVS 4610) (check-in: 9335c940 user: drh tags: trunk)
19:34
Build the CLI using the amalgamation. Relax the limit on SQL statement length when building the CLI. (CVS 4609) (check-in: a5d81cd3 user: drh tags: trunk)
04:23
Fix a 'const' issue in trimFunc(). (CVS 4608) (check-in: 64787d78 user: danielk1977 tags: trunk)
2007-12-10
21:11
Make sure the windows driver responds correctly to the SQLITE_OPEN_DELETEONCLOSE flag. Ticket #2829. (CVS 4607) (check-in: 19db91fd user: drh tags: trunk)
18:51
Further modifications to do with ORDER BY and compound SELECT queries. Related to ticket #2822. (CVS 4606) (check-in: 0d9b0e6e user: danielk1977 tags: trunk)
18:07
Fix a macro in func.c that causes problems for the amalgamation. (CVS 4605) (check-in: 6adbe91e user: drh tags: trunk)
17:55
Fix a bug in the compilation procedures for the Linux shared library that includes the TCL bindings. (CVS 4604) (check-in: d384810a user: drh tags: trunk)
05:03
Fix compilation/testing with OMIT_SUBQUERY defined. Ticket #2828. (CVS 4603) (check-in: 0b34a186 user: danielk1977 tags: trunk)
2007-12-08
21:10
Better resolution of ORDER BY terms in compound queries. Candidate solution for ticket #2822. Needs more testing and documentation before going final. (CVS 4602) (check-in: 62a78d21 user: drh tags: trunk)
18:01
Strengthen the tests for aggregate functions in GROUP BY clauses. Changes to test cases only. No changes to code. (CVS 4601) (check-in: 4be8e676 user: drh tags: trunk)
17:55
Fix a bug in the debugging printf logic. (CVS 4600) (check-in: 1d6a9f5f user: drh tags: trunk)
2007-12-07
23:47
Change prefix search from O(N*M) to O(NlogM). The previous code linearly merged the doclists, so as the accumulated list got large, things got slow (the M term, a fucntion of the number of documents in the index). This change does pairwise merges until a single doclist remains. A test search of 't*' against a database of RFC text improves from 1m16s to 4.75s. (CVS 4599) (check-in: feef1b15 user: shess tags: trunk)
18:55
In shared-cache mode, make sure the busy hander invoked is the busy handler associated with the database connection that caused the lock contention in the first place. (CVS 4598) (check-in: c9eb6591 user: drh tags: trunk)
18:39
Get the LIKE and GLOB operators working again on systems using the EBCDIC character set. (CVS 4597) (check-in: 754298a7 user: drh tags: trunk)
2007-12-06
17:41
Fix a leaking database connection in the vacuum2 test script. Ticket #2827. (CVS 4596) (check-in: f29deb5f user: drh tags: trunk)
13:26
Use the specified buffer length, not the maximum buffer length in unixFullPathname() and related functions. (CVS 4595) (check-in: f015a387 user: drh tags: trunk)
02:42
Continuing work on the C/C++ interface requirements that appears as comments in sqlite.h.in. (CVS 4594) (check-in: 2130e712 user: drh tags: trunk)
2007-12-05
18:05
Begin adding requirements numbers to the C/C++ interface documentation. (CVS 4593) (check-in: ae1936aa user: drh tags: trunk)
01:38
Add the ability to change the autovacuum status of an existing database by setting the auto_vacuum pragma then running the VACUUM command. (CVS 4592) (check-in: bdfc19e8 user: drh tags: trunk)
2007-12-04
16:54
Make sure statement journals are initiated when doing DROP operations (since the DROP might fail after sqlite_master changes). Also make sure statement journals are initiated if there are pending SELECT statements. Ticket #2820. (CVS 4591) (check-in: bf34284f user: drh tags: trunk)
13:41
Fix a bug in the TCL code for sqlite3_analyzer. (CVS 4590) (check-in: 7c2cf454 user: drh tags: trunk)