SQLite

Timeline
Login

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

2290 check-ins using file test/corruptD.test version 3ae6e2dc6e

FROM <tble>"). Ticket #3944. (CVS 6838) (check-in: 45fd5419a7 user: danielk1977 tags: trunk)
2012-08-25
00:49
Backport check-in [62678be3df35cd]: When the same index is used for all OR-terms in a WHERE clause, then try to use that index as a covering index. (Leaf check-in: 865dfcbaa5 user: drh tags: branch-3.7.2)
2011-10-25
21:18
Cherrypick the [3513bf6ee090d9] so that the sqlite_source_id() function works correctly even with newer versions of Fossil (check-in: 89d63a0e1d user: drh tags: branch-3.7.2)
20:36
Cherrypick changes [53f5cfe115] and [1f7ef0af8d] in order to fix an issue with DISTINCT (check-in: 14bc58ca70 user: drh tags: branch-3.7.2)
2011-08-26
18:28
Veryquick and min.rc tests now passing. (Closed-Leaf check-in: a7e1846882 user: drh tags: stat3-3.7.2)
18:04
Merge the branch-3.7.2 changes into the stat3-3.7.2 subbranch. Also fix some test script issues. (check-in: a42db19d52 user: drh tags: stat3-3.7.2)
17:17
Cherrypick the recursion fix to test_vfs.c from [065e5a5ea4f82]. Also fix the nan.test module to handle upper/lower case changes in TCL. (check-in: 41b5f86971 user: drh tags: branch-3.7.2)
15:51
Get stat3 working after import from trunk-based the stat3-enhancement branch. There is still a problem in the wal2 test. (check-in: 01cc4ff6af user: drh tags: stat3-3.7.2)
13:52
Merge branches branch-3.7.2 and stat3-enhancement into a new branch for testing purposes. (check-in: 0df04f920b user: drh tags: stat3-3.7.2)
2011-07-13
18:53
Cherrypicked from trunk: Do not try to use STAT2 for row estimates if the index is unique or nearly so. (check-in: d55b64ef7e user: drh tags: branch-3.7.2)
2011-07-12
14:48
Cherrypick change [9f14fa56ba] (the fix for [54844eea3f]) from the trunk. (check-in: 7afb2354d3 user: dan tags: branch-3.7.2)
2011-07-02
15:42
Cherrypick change [27c65d4d9c] into the 3.7.2 branch. (check-in: 9bbcd8c076 user: dan tags: branch-3.7.2)
13:34
Cherrypick [45e581bff7] into the 3.7.2 branch. (check-in: c593792ce0 user: dan tags: branch-3.7.2)
2011-06-01
11:26
Toward version 3.7.5.1. This check-in updates the version number and also patches the pager so that it never spills cache while in WAL mode. The latter patch fixes ticket [2d1a5c67dfc23] and also prevents excessive WAL file sizes if the pager cache starts thrashing. A few test cases fail. (Leaf check-in: 2e5a912ad7 user: drh tags: branch-3.7.5)
2011-05-01
22:57
Backport check-ins [0900e35348f4b9bf3] and [4fead8e714c7e50] to the 3.7.2 branch. These check-ins provide hints to the btree layer for when it is possible to use a hash table rather than a btree to implement an index. The SQLite BTree layer does not use these hints, but alternative btree layers might. (check-in: 7155e6f328 user: drh tags: branch-3.7.2)
2011-04-15
15:18
Backport check-in [9f9f32882501ac9] to provide EXPLAIN QUERY PLAN output for the count(*) optimization. Also backport check-in [a8761a9128de945aa] to prevent unordered indices from being used on a full table scan. The first backport was necessary in order to test the second. (check-in: 8d924e1607 user: drh tags: branch-3.7.2)
2011-04-09
03:30
Back port the unordered-index-hack to the 3.7.2 branch. (check-in: 803530209f user: drh tags: branch-3.7.2)
2011-04-08
23:36
Backport test cases from trunk that seek to prove that the IS NOT NULL query optimization is working. (check-in: 9eff470226 user: drh tags: branch-3.7.2)
23:05
Make sure the query planner is able to correctly analyze NULL value samples in the sqlite_stat2 table. This is a backport of changes from check-in [f73a167b434f] (check-in: 1d6378898a user: drh tags: branch-3.7.2)
23:04
Make sure the left-hand side of the IS NOT NULL operator is a simple column and not a general expression before applying the IS NOT NULL optimization. This is a backport of check-in [543f75a6abe3]. (check-in: e8177e0149 user: drh tags: branch-3.7.2)
2011-03-31
18:36
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (check-in: a5aae1743a user: drh tags: branch-3.7.2)
2011-03-17
01:53
Backport the "x IS NULL" query planner enhancement of [2353176811f] to the 3.7.2 branch. (check-in: 68daf20d01 user: drh tags: branch-3.7.2)
2011-03-12
05:55
Backport the SQLITE_OMIT_UNIQUE_ENFORCEMENT change from check-in [b86999436e] on the trunk. (check-in: 668b91dbff user: shaneh tags: branch-3.7.2)
2011-03-09
22:09
Backport the OP_Next and OP_Prev for UNIQUE indices patch from checkin [f000c9b2b7] on the trunk. (check-in: 2d55234ea3 user: drh tags: branch-3.7.2)
2011-03-04
01:23
Backport the query planner enhancement of [952f5e8c69904] to the 3.7.2 branch. (check-in: 440d995661 user: drh tags: branch-3.7.2)
2011-02-23
14:33
Automatically retry system calls that fail with EINTR. This is a backport of the changes from [b9d29ea385bafc] and [af9ba2a6d2c379]. (Leaf check-in: 8609a15dfa user: drh tags: branch-3.7.4)
14:05
Backport the os_unix.c error logging enhancements from check-in [01076528a43b61a]. (check-in: a4333b1545 user: drh tags: branch-3.7.4)
2011-02-20
21:03
Pull in the fix to STAT2 processing from check-in [70a3d81742f]. (check-in: 692aafb17e user: drh tags: branch-3.7.4)
03:40
Do not report the database corruption if the the db size header field is greater than the file size on disk unless the two change-counter header fields are identical. Fix for ticket [89b8c9ac54]. Backport by cherrypick of [00c4596f0b270]. (check-in: e2616004df user: drh tags: branch-3.7.4)
03:32
Make sure the change-counter and SQLite-version fields of the header are set correctly even after vacuuming. This is a backport of changes [0be92a7576] and [04fa1e1690] to address ticket [5d863f876ee]. (check-in: 442be1358e user: drh tags: branch-3.7.4)
03:27
Do not raise an SQLITE_CORRUPT error in Recoverymode if the database size in the header is larger than the physical file size. This is a cherrypick of checkin [114640d920e16c8] (check-in: 7701b07759 user: drh tags: branch-3.7.4)
03:22
Backport the sqlite3.h generator fix so that it works with newer versions of Fossil. See [3513bf6ee090d9b] for the original. (check-in: 29597a71d0 user: drh tags: branch-3.7.4)
03:20
Backport the changes of checkin [cf86affcb7d308949] ("Make wal_checkpoint a no-op if a prior checkpoint has already copied all WAL content into the database.") to the 3.7.4 release. (check-in: e6e540ab77 user: drh tags: branch-3.7.4)
03:11
Backport the SQLITE_PROTOCOL fix and the extra defensive measure to version 3.7.4. (check-in: bcc22c4b80 user: drh tags: branch-3.7.4)
2011-02-19
14:19
Changes which attempt to address an obscure SQLITE_PROTOCOL error. (Leaf check-in: 1725aa7501 user: drh tags: wal-trace-375)
2011-02-14
03:49
Skip some tests in capi3e.test when compiled with SQLITE_OMIT_UTF16. (check-in: b04304b967 user: shaneh tags: trunk)
2011-02-12
14:23
Fix the expected output on tests so that it corresponds to the new query planner results. All of veryquick.test is now passing with SQLITE_ENABLE_STAT2. (check-in: f2a8b5ccfb user: drh tags: branch-3.7.2)
05:34
Fix problems in the backport, reducing the number of errors in the TCL tests to just a few dozen. Most of the remaining errors seem to be real and desirable changes of behavior. (check-in: 9d2b0af266 user: drh tags: branch-3.7.2)
01:59
This is the beginning of an attempt to backport recent query planner enhancements to version 3.7.2. The code in this version builds and runs and seems to give correct answers, but it generates suboptimal query plans and hence many of the test cases fail. The test script gives up after 1000 errors. (check-in: e72cf118cb user: drh tags: branch-3.7.2)
2011-02-11
22:54
Add a NEVER() around a test that is believed to always be false. (check-in: f7e2ea33d5 user: drh tags: trunk)
20:52
Skip flattening if subquery has LIMIT and outer query is DISTINCT. Fix for ticket [752e1646fc]. (check-in: 5597399988 user: shaneh tags: trunk)
06:59
Fix a bug in the new WHERE-clause processing that tries to use an index to resolve IS NOT NULL constraints when SQLITE_ENABLE_STAT2 is defined. The bug could cause memory overruns and segfaults. The bug was new to the code and has not appeared in an official release. Found during structural testing. (check-in: a5c36b9f39 user: drh tags: trunk)
03:56
Allow an index paired with an IS NULL constraint to be used for sorting under the condition that the index be treated as a non-unique index. (check-in: d78949fc93 user: drh tags: trunk)
02:43
Disable unused NULL tests when SQLITE_ENABLE_STAT2 is not in use. (check-in: 5ecd117882 user: drh tags: trunk)
2011-02-10
21:08
Add .testctrl option to CLI. (check-in: f85afa0ecc user: shaneh tags: trunk)
18:56
Split the documentation for sqlite3_wal_checkpoint_v2() and its constants onto separate pages. No changes to code. (check-in: 0ef8ffd12f user: drh tags: trunk)
17:46
Prevent a segfault when automatic indices try to use a column with an unknown collating function. Ticket [77aa3b1e6592582e38605d36]. This check-in also removes some stray \r characters unrelated to the problem. (check-in: f01030a0df user: drh tags: trunk)
01:49
This is a version of the SQLite 3.7.5 release with Apple's changes for MacOS. (check-in: 55d2e55b7b user: drh tags: apple-osx)
00:08
Refactor the cost function in the query planner. Give extra cost (thus reduce likelihood of selection) to full table scans. (check-in: 878da276eb user: drh tags: trunk)
2011-02-09
19:55
Make sure code *compiles* with each OMIT and ENABLE option. Mostly changes to test modules. (check-in: 7cc515edc9 user: shaneh tags: trunk)
18:19
Do not report corruption if the the db size header field is greater than the file size on disk unless the two change-counter header fields are identical. Fix for ticket [89b8c9ac54]. (check-in: 00c4596f0b user: dan tags: trunk)
15:25
Update Makefile.in for fts3_aux changes. (check-in: 38b7cb33c5 user: shaneh tags: trunk)
03:04
Use macros to define the relative costs of search and seek operations when computing costs in the query planner. Current constants seems wrong and need to be fixed, but doing so will alter test results. Need more experimentation to determine accurate relative costs. (check-in: 5f2ec44b22 user: drh tags: trunk)
03:03
Simplifications to the sqlite3_wal_checkpoint_v2() logic. (check-in: 652b8835c5 user: drh tags: trunk)
2011-02-07
23:56
Cleanup to the OP_Checkpoint opcode. (check-in: f611a5a879 user: drh tags: trunk)
16:24
Fix some test cases in walfault.test. Extend one test case to restore code coverage. Add wal5.test to the "coverage-wal" permutation. (check-in: f83b07ace3 user: dan tags: trunk)
15:12
Change blocking-checkpoint tests so that they run once using "PRAGMA wal_checkpoint" and once using calls to sqlite3_wal_checkpoint_v2(). Also fix edge cases surrounding the output variables set by wal_checkpoint_v2(). (check-in: 5a4b6652cf user: dan tags: trunk)
2011-02-05
15:47
Ensure fts4aux can handle a table name in single or double quotes as a constructor argument. (check-in: 929d62e496 user: dan tags: trunk)
14:37
Add test cases for fts4aux. Fix a bug affecting fts3 tables with multiple columns. (check-in: dc511e60a6 user: dan tags: trunk)
2011-02-04
18:56
Change fts4aux to (additionally) report on term frequency in individual columns of an fts table. (check-in: 3996f92a9a user: dan tags: trunk)
14:28
Significant changes have occurred since the 3.7.5 release so go ahead and increase the version number to 3.7.6. (check-in: 999c915a4a user: drh tags: trunk)
06:36
Merge the stat2 query planner enhancements into the trunk. (check-in: 499edcbc8a user: drh tags: trunk)
05:47
If a deferred foreign key constraint fails on a statement that is not part of a larger transation, make sure that the statement fully ends so that subsequent invocations of the same statement will not pass the constraint because they think the transaction is not closed. This is a merge of the deferred-fk-quirk branch together with a test case. (check-in: 2f94d4623f user: drh tags: trunk)
00:51
Fix the ATTACH command so that the filename argument can be any expression and so that if authorizer callback gets a NULL pointer for the filename if the filename argument is anything other than a string literal. Ticket [9013e13dba5b58c7] (check-in: e64e1453a9 user: drh tags: trunk)
2011-02-03
12:48
Extra tests for fts4 compress/uncompress hooks. Fix some minor problems with the same. (check-in: 80225abe79 user: dan tags: trunk)
10:56
Extra tests for the fts4aux module. (check-in: cfc475690d user: dan tags: trunk)
01:26
Fix a superlock test case to conform to the new wal_checkpoint returns. (check-in: 8bf2d51b6a user: drh tags: trunk)
2011-02-02
19:17
Fix minor problems with the output of "PRAGMA wal_checkpoint". In both code and tests. (check-in: aef61036b3 user: dan tags: trunk)
17:30
Optimize handling of equality and range constraints on the "term" column of an fts4aux table. (check-in: 386701ded2 user: dan tags: trunk)
16:34
Merge in the blocking-checkpoint enhancement, including the new sqlite3_wal_checkpoint_v2() interface and the PRAGMA wal_checkpoint(full) statement. (check-in: bac7342c36 user: drh tags: trunk)
04:40
Merge fts4aux branch. (check-in: c6d9f7d8c4 user: dan tags: trunk)
04:26
Add missing file fts3_aux.c. (Closed-Leaf check-in: 0147d9739f user: dan tags: fts4aux)
2011-02-01
18:59
Remove extra instances of the text "checked out." from sqlite.h.in. Also add new file fts3_aux.c to mksqlite3c.tcl. (check-in: 9897da22c5 user: dan tags: fts4aux)
18:00
Fix a problem causing builds with SQLITE_OMIT_WAL defined to fail. (check-in: b9b48dd8dd user: dan tags: fts4aux)
17:55
Fix a case in fts4 where a corrupt %_stat table could lead to a crash. (check-in: 4ade96ce97 user: dan tags: fts4aux)
16:34
Add virtual table module "fts4aux", used to inspect the full-text index of an fts4 table directly. Also add the "compress" and "uncompress" fts4 options. (check-in: b010ddcc52 user: dan tags: fts4aux)
00:04
Version 3.7.5 (check-in: ed759d5a9e user: drh tags: trunk, release, version-3.7.5)
2011-01-28
17:02
Bogus release candidate. (Closed-Leaf check-in: 38ca1daa23 user: drh tags: mistake)
16:45
Add test script pagerfault3.test. No changes to code or existing tests. (check-in: 682fe41efd user: dan tags: trunk)
15:46
Change pager_truncate() to a different method for extending files while also ensuring that writes are page-size and page-aligned. (check-in: 874bc8844f user: drh tags: trunk)
15:07
When extending a database file, do so by writing one or more page-size chunks of data to the file, instead of just a single byte to the end. (check-in: 58577135a8 user: dan tags: trunk)
03:13
Reactivate the analyze5.test script. (Closed-Leaf check-in: a2a9f6401c user: drh tags: stat2-enhancement)
01:57
Change the weighting of binary searches on tables to 1/10th the cost of a search on an index. Change the assumed reduction in search space from a indexed range constraint from 1/3rd to 1/4th. Do not let the estimated number of rows drop below 1. (check-in: 4847c6cb71 user: drh tags: stat2-enhancement)
2011-01-27
18:48
Pull in all the changes from trunk up through the version 3.7.5 release candidate 1. (check-in: 09d6c91dcf user: drh tags: apple-osx)
14:35
SQLite version 3.7.5 release candidate 1 (check-in: 35ac78f551 user: drh tags: trunk)
2011-01-26
19:46
Update all built-in VFSes to return SQLITE_OK for the SQLITE_FCNTL_SYNC_OMITTED file-control operation. Also change the xFileControl methods to return SQLITE_NOTFOUND for unrecognized operation codes. (check-in: 6f2c72a0f6 user: drh tags: trunk)
15:23
Update test file mutex1.test to account for [e3b500fb5d]. (check-in: c86e46f4fd user: dan tags: trunk)
13:28
More mutexes around another sqlite3StatusAdd() call. (check-in: e3b500fb5d user: drh tags: trunk)
13:24
Add a mutex around an sqlite3StatusAdd() call to prevent the pagecount overflow measurements from getting off in multithreaded applications. (check-in: 3d8b298dc2 user: drh tags: trunk)
07:25
Update mutex1.test so that it works with the memsubsys1 permutation (pagecache memory). Change a few instances of SQLITE_MUTEX_STATIC_LRU2 in comments and test code to STATIC_PMEM. (check-in: 456bd5c63b user: dan tags: trunk)
06:13
Changes to exclusive2.test to make it more deterministic. (check-in: 84b0c2bc71 user: dan tags: trunk)
00:07
Rename the PCache1.mxPinned field to n90pct (since it is 90% of nMax) in order to distinguish it from PGroup.mxPinned. Fix the computation of n90pct so that it does not overflow adversely on excessively large cache sizes. (check-in: c85202baac user: drh tags: trunk)
2011-01-25
18:30
Fix new compiler warnings in pcache1.c that were introduced by the recent performance enhancement patches of [e14649301138b684]. (check-in: c17703ec1e user: drh tags: trunk)
18:19
Add a missing call to sqlite3PagerSync() removed by [ce552d975] to the backup code. (check-in: 1965b85318 user: dan tags: trunk)
16:48
Make sure the return code from doing an xSync is correctly initialized so that a valid return code is produced regardless of the path taken through the logic. (check-in: f12b5d7685 user: drh tags: trunk)
16:20
Change the name of SQLITE_FCNTL_SYNC to SQLITE_FCNTL_SYNC_OMITTED and only send it when PRAGMA synchronous=OFF. Add better documentation to explain what that file-control opcode is used for. (check-in: 6491498085 user: drh tags: trunk)
13:43
Fix a couple of typos in comments. No changes to actual code. (check-in: 9167fdb356 user: dan tags: trunk)
11:33
Fix a broken assert() in pager.c. (check-in: 13108ce13c user: dan tags: trunk)
09:54
Fix a problem in memsubsys1.test. Modifications to test code only. (check-in: 7ef3f7cba7 user: dan tags: trunk)
04:34
Shave a few cycles so that performance is better than 3.7.4 in speed tests. (check-in: e146493011 user: drh tags: trunk)
2011-01-24
20:18
Modify the test_quote.c demonstration shim so that it works when SQLITE_THREADSAFE=0 is defined. (check-in: b70bcccaf5 user: drh tags: trunk)
19:45
Fix a typo in the documentation for sqlite3_snprintf(). No changes to code. (check-in: 8d1065411a user: drh tags: trunk)
19:14
Fix a harmless compiler warning (a shadowed local variable) in analyze.c. (check-in: a1ad7fb38b user: drh tags: trunk)
17:46
Restructuring and generalizing analyze5.test. The whole script is currently disabled and will need to be reenabled prior to merging with trunk. (check-in: 31fcc7067b user: drh tags: stat2-enhancement)
16:00
Ensure that if a deferred FK constraint is violated by a statement that creates its own implicit transaction, the statement is not an "active-write" after sqlite3_step() returns. (Closed-Leaf check-in: 8063197ef1 user: dan tags: deferred-fk-quirk)
15:11
Change the cost estimator in the query planner to take into account the logN rowid lookup cost when going from an index to a table. (check-in: b442525b0b user: drh tags: stat2-enhancement)
2011-01-22
13:32
Modify the trace callback mechanism so that SQL commands executed from within virtual table or user function callbacks are passed to the trace callback without parameter expansion and enclosed in SQL comments. (check-in: a764915b87 user: dan tags: trunk)
00:10
Add the ability to use indices for constraints of the form "x IS NOT NULL" when sqlite_stat2 is available and most entries for column x are NULL. (check-in: 5d5bddd290 user: drh tags: stat2-enhancement)
2011-01-21
18:25
Change sqlite3StrAccumAppend() to use realloc instead of malloc. (check-in: 380f61df07 user: dan tags: trunk)
18:18
Adjustments to the result row estimator for the IN operator so that it gives the same estimates as the equivalent OR operator. Test cases for the same. (check-in: c82cb9c028 user: drh tags: stat2-enhancement)
16:27
Make use of histogram data to make better estimates for the number of rows that will be returned from "x IN (v1,v2,v3,...)" constraints. (check-in: fd3977a27a user: drh tags: stat2-enhancement)
15:52
Add options to test command [do_faultsim_test] to support testing VFS implementations. (check-in: 503ad889da user: dan tags: trunk)
14:37
Add the ability to use indices when a range contraint is bounded on the lower end by NULL. (check-in: f73a167b43 user: drh tags: stat2-enhancement)
2011-01-20
20:36
Update ANALYZE test cases to check out the use of histograms for equality constraints. (check-in: c7b59afaf0 user: drh tags: stat2-enhancement)
16:52
Use histogram data to improve the row-count estimates on equality constraints. (check-in: 6bfc5c69eb user: drh tags: stat2-enhancement)
02:56
The first of a planned series of enhancements to the query planner that enable it to make better use of sqlite_stat2 histograms when the table has many repeated values. (check-in: 2cd374cd23 user: drh tags: stat2-enhancement)
2011-01-19
21:58
Comment improvements in pcache1.c. No changes to code. (check-in: 9660a0a225 user: drh tags: trunk)
2011-01-18
17:34
Pull over all the latest trunk changes. (check-in: ca86d04be1 user: drh tags: wal-trace-375)
17:03
Do not use mutexes in the pcache implementation unless SQLITE_ENABLE_MEMORY_MANAGMENT is defined. This is a performance enhancement. A side effect is that pcaches will not steal pages from one another unless ENABLE_MEMORY_MANAGEMENT is set, or unless SQLITE_THREADSAFE=0. (check-in: e5ca59e63b user: drh tags: trunk)
16:13
Get all test cases working with the mutex-free-pcache implementation. (Closed-Leaf check-in: 2dc98d2999 user: drh tags: mutex-free-pcache)
15:17
Do not use SQLITE_MUTEX_STATIC_MEM2 since it has been reused as STATIC_OPEN. Instead, create a new static mutex STATIC_PMEM which is an alias for the unused STATIC_LRU2. (check-in: f1cf02efcb user: drh tags: mutex-free-pcache)
2011-01-17
21:32
Here is a completely new implementation of the mutex-free-pcache. This one uses a common code base and automatically selects whether or not to use mutexes depending on compile-time and start-time options. (check-in: d094a1bfb7 user: drh tags: mutex-free-pcache)
18:30
Fix a typo in the documentation for sqlite3_stmt_readonly(). (check-in: 56417a3386 user: drh tags: trunk)
17:42
Add the SQLITE_OMIT_AUTORESET compile-time option which if enabled causes the sqlite3_step() routine to return SQLITE_MISUSE if it is called after it has previously returned anything other than SQLITE_ROW, SQLITE_BUSY, or SQLITE_LOCKED. (check-in: 053ce76deb user: drh tags: trunk)
02:24
Add back an ALWAYS() to regain full test coverage. (check-in: b93f6f3e67 user: drh tags: trunk)
2011-01-16
22:37
On a backup from a smaller to a larger page size, do not begin committing the transaction until the source pages after the pending byte have been copied. (check-in: 612e2599d3 user: drh tags: trunk)
00:56
Make sure the change-counter and SQLite-version fields of the header are set correctly even when doing a VACUUM with locking_mode=EXCLUSIVE. Ticket [5d863f876ee9561b]. (check-in: 04fa1e1690 user: drh tags: trunk)
2011-01-15
21:42
Make sure the change counter and SQLite version numbers in the header are set correctly, even when running in WAL mode and when VACUUMing in WAL mode. Ticket [5d863f876ee9561b9]. (check-in: 0be92a7576 user: drh tags: trunk)
18:11
Fix the change-counter increment for WAL pages so that it works even when invoked from xStress. Ticket [5d863f876ee9561b95e2]. (Closed-Leaf check-in: 228e7c34c6 user: drh tags: bug-5d863f87)
17:12
Increment the change counter and update the SQLite version number whenever page 1 is added to the WAL. Ticket [5d863f876ee9561b9] (check-in: c1e0d09cd3 user: drh tags: bug-5d863f87)
16:52
Add a test case demonstrating the problem described by ticket [5d863f876e]. (check-in: af54963f0f user: dan tags: trunk)
2011-01-14
16:43
Rerun autoconf to bring the configure script up-to-date. (check-in: 142174640d user: drh tags: trunk)
16:12
Provide an alternative and experimental pcache implementation that avoids the use of mutexes at the expense of using more memory. (Closed-Leaf check-in: 2ea5bd1287 user: drh tags: mutex-free-pcache)
15:17
Fix comments, including some documentation comments, in the page cache logic. No code changes. (check-in: c80e9c1a0d user: drh tags: trunk)
11:51
Fix a bug in test code (test_vfs.c). (check-in: 772a3845f8 user: dan tags: trunk)
2011-01-13
16:10
Fix a typo on the sqlite3_open_v2() documentation. (check-in: b0add45abc user: drh tags: trunk)
11:20
Fix a couple of crashes in fts3 that can occur if the database contents are inconsistent. (check-in: 811e12cddf user: dan tags: trunk)
10:58
Fix a segfault that can occur in matchinfo if an fts4 table contains mostly zero-length documents. Specifically, if the table contains more rows than it does bytes of text. (check-in: fe9047668e user: dan tags: trunk)
2011-01-12
17:56
Do not raise an SQLITE_CORRUPT error in Recoverymode if the database size in the header is larger than the physical file size. This facilitates recovery of a database in which the database size field has been corrupted. (check-in: 114640d920 user: drh tags: trunk)
2011-01-11
17:40
Merge accidentally created fork. (check-in: b7d080b8e8 user: dan tags: trunk)
17:39
Add the SQLITE_FCNTL_SYNC file-control. (check-in: b3f2f465c3 user: dan tags: trunk)
17:38
Change the page size of the destination database in a backup, if it is changeable, prior to starting the backup. (check-in: a5e4e0caad user: drh tags: trunk)
16:09
If a rollback is attempted in journal_mode=off mode, force SQLite to discard the contents of the pager cache before processing any subsequent queries. (check-in: ece7efce27 user: dan tags: trunk)
12:46
Fix the sqlite3.h generator script so that it generates the correct SQLITE_SOURCE_ID string with the latest versions of Fossil that include fractional seconds on the date/time stamp. (check-in: 3513bf6ee0 user: drh tags: trunk)
01:42
A proposed change to the sqlite3_step() API such that it will only auto-reset following an SQLITE_BUSY or SQLITE_LOCKED error. Calls after any other result other than SQLITE_ROW will return SQLITE_MISUSE. (Closed-Leaf check-in: d1b3c54f42 user: drh tags: step-autoreset)
2011-01-10
21:01
Update pager requirements to account for the ZIPVFS extension. (check-in: d94e59b514 user: drh tags: trunk)
2011-01-07
02:50
Reorder the fields in private structures in an effort to reduce alignment gaps and thus make the structures smaller, and to put frequently accessed fields first. Also update some obsolete comments. Valgrind shows a very slight performance improvement. (check-in: 378a1d13af user: drh tags: trunk)
2011-01-06
15:51
Enhance the showdb tool to show overflow page pointers at the end of overflow cells. (check-in: cda5eab18f user: drh tags: trunk)
01:26
Enhance the showdb tool to show a btree page layout. Add limit checks so that overflow content does not overflow the buffer. (check-in: 57ffa07e26 user: drh tags: trunk)
2011-01-05
21:46
Fix a bug in the showdb utility: the serial types for BLOB and TEXT where reversed. (check-in: 65a13faf1e user: drh tags: trunk)
21:20
Enhancements to the "showdb" debugging tool. Add the ability to display the content of a cell. (check-in: e9023a4e1e user: drh tags: trunk)
13:43
Increment the version number to 3.7.5. (check-in: 9ec3896e2f user: drh tags: trunk)
13:07
Cherrypick the WAL error logging from the pre-3.7.5 line into a branch for version 3.7.2. Include the sqlite3_vsnprintf() interface. This checkin is intended for debugging and not for release. (Leaf check-in: 6549e7672b user: drh tags: wal-trace-372)
12:50
Add detailed error logging to WAL in an effort to track down an obscure SQLITE_PROTOCOL problem. This code is intended for debugging and not for release. (check-in: 2c2afdd0ad user: drh tags: wal-trace-375)
12:20
Add the sqlite3_vsnprintf() interface. (check-in: fc67adea41 user: drh tags: trunk)
2011-01-04
20:06
Fix a null-pointer dereference that can occur on an OOM error while running ANALYZE with SQLITE_ENABLE_STAT2. (check-in: 73128d4ef5 user: drh tags: trunk)
19:01
Fix the ANALYZE command so that it takes collating sequences into account when gathering index statistics. (check-in: a5867cfc4c user: drh tags: trunk)
17:57
The ANALYZE command now counts at all rows of an index, even those containing NULL values. A valid sqlite_stat1 entry is created even if the index contains nothing but NULLs. (check-in: 824c8dd301 user: drh tags: trunk)
2010-12-29
18:24
Have testfixture invoke C routine Zipvfs_Init() when creating a new interpreter if SQLITE_ENABLE_ZIPVFS is defined. (check-in: 430635dacf user: dan tags: trunk)
10:49
Fix some off-by-one errors in the comments for API functions create_function() and value_blob(). No changes to code or tests. (check-in: 7ded90baeb user: dan tags: trunk)
2010-12-24
15:49
Reduce the number of calls to sqlite3_realloc() made by fts3 when querying for position information of a term prefix. (check-in: 7088d9450f user: dan tags: trunk)
2010-12-22
21:48
Do not include <sys/mmap.h> if SQLITE_OMIT_WAL is defined. (check-in: b82e85ece9 user: drh tags: trunk)
2010-12-21
21:28
Add test cases for the new lookaside hit and miss status outputs. Add the output of lookaside hit and miss to the command-line shell statistics. (check-in: b0888047bb user: drh tags: trunk)
20:36
Merge into the trunk the experimental enhancements to sqlite3_db_status() for measuring lookaside memory allocator performance. (check-in: 8c3b06c299 user: drh tags: trunk)
00:20
Remove the obsolete compile-time option SQLITE_THREAD_OVERRIDE_LOCK from the autoconf makefile. Needed only for LinuxThreads, which we no longer support. (check-in: 09f6c053ff user: drh tags: trunk)
00:16
Rearrange a variable declaration in the proxy locking code to avoid a harmless compiler warning on recent MacOS versions. (check-in: 39bbd35599 user: drh tags: trunk)
2010-12-20
17:00
Clarify the documentation of the SQLITE_STATUS_MALLOC_COUNT parameter to sqlite3_status(). (check-in: 3b41bcc3e3 user: drh tags: trunk)
15:51
Add additional DBSTATUS options for measuring the hit and miss rates against the lookaside memory pool - information useful in tuning the lookaside size. Currently experimental pending analysis of performance impact. (Closed-Leaf check-in: 34613f1dc5 user: drh tags: experimental)
2010-12-17
14:03
Add the "-heap" option to the command-line shell - to allocate a fixed heap for use with SQLITE_ENABLE_MEMSYS5. (check-in: 74fff69234 user: drh tags: trunk)
01:00
Fix minor typos in the sqlite3_backup documentation. (check-in: df430be59d user: drh tags: trunk)
2010-12-16
20:35
Improvements to the documentation for sqlite3_backup. No code changes. (check-in: f83609f470 user: drh tags: trunk)
19:52
Fix an assertion fault that can only occur if SQLITE_ENABLE_STAT2 is defined and the constant folding optimization is disabled using sqlite3_test_control(). Problem introduced by [ad8bc68197f2b4] but we missed it prior to the 3.7.4 release due to taking shortcuts and skipping tests in the release checklist. (check-in: 70a3d81742 user: drh tags: trunk)
02:06
Make wal_checkpoint a no-op if a prior checkpoint has already copied all WAL content into the database. This prevents a concurrent write to the database from resetting the wal-index out from under the WalIterator of the checkpoint as it is initializing. (check-in: cf86affcb7 user: drh tags: trunk)
2010-12-15
21:02
Enhanced comments in wal.c and declare some procedure parameters "const". No changes to the generated code. (check-in: d0e4375b8a user: drh tags: trunk)
18:54
When registering the built-in LIKE and GLOB functions, make sure that they are tagged with SQLITE_UTF8 so that if other application-defined LIKE and GLOB implementations are provided for UTF16, then the appropriate function will be selected. (check-in: e1660764f2 user: drh tags: trunk)
2010-12-10
17:06
Fix a performance regression in matchinfo(). (check-in: fa37d8eb7c user: dan tags: trunk)
2010-12-09
19:15
Add support for the SQLITE_DEFAULT_FOREIGN_KEYS compile-time option. (check-in: c959945ab7 user: drh tags: trunk)
18:55
Mention the SQLITE_DEFAULT_WAL_AUTOCHECKPOINT compile-time option in the documentation for the sqlite3_wal_autocheckpoint() interface. (check-in: 5a52dd59ff user: drh tags: trunk)
2010-12-08
18:30
Update the sqlite3_stmt_readonly() interface so that its output is well-defined for all prepared statements, and so that it gives the correct result for VACUUM. (check-in: 9c19b7ae35 user: drh tags: trunk)
03:28
The command-line shell ignore errors in sqlite3_close() when shutting down. (check-in: 925332c3d7 user: drh tags: trunk)
00:02
Changes to the shell which should, in theory, allow it to work with libeditline as an alternative to libreadline. (check-in: e474fd9e7f user: drh tags: trunk)
2010-12-07
23:24
Improved documentation for SQLITE_FCNTL_FILE_POINTER. (check-in: 43935548ae user: drh tags: trunk)
20:14
Version 3.7.4 (check-in: a586a4deeb user: drh tags: trunk, release, version-3.7.4)
17:12
Work around restriction in Windows file locking. (check-in: fe441df9ba user: shaneh tags: trunk)
16:39
Fix a bug in the demo "superlock" code preventing locks from being released in some circumstances. (check-in: 65c393793f user: dan tags: trunk)
15:49
Merge in all changes to the trunk through version 3.7.4rc3. (check-in: d2ccf7fc06 user: drh tags: apple-osx)
14:59
Version 3.7.4 release candidate 3 (check-in: 11c74c0dae user: drh tags: trunk)
14:32
Run some of the existing test scripts with optimizations disabled as part of all.test. (check-in: b0634d2f90 user: dan tags: trunk)
07:57
Add tests to tkt-80ba201079.test. (check-in: c370338c77 user: dan tags: trunk)
2010-12-06
21:09
Fix the build so that it once again works with SQLITE_OMIT_SHARED_CACHE and SQLITE_OMIT_AUTOVACUUM. (check-in: fabcb6b95e user: drh tags: trunk)
21:06
Add the ability to disable constant factoring using sqlite3_test_control(). Add a TCL interface to this new capability and add tests cases to the TCL test scripts to actually use the new capability. (check-in: ad8bc68197 user: drh tags: trunk)
18:59
Back out part of the previous change that was not really necessary in order to fix [80ba201079ea60], and which in fact serves no useful purpose. (check-in: fa9eef865f user: drh tags: trunk)
18:50
Initialize all constants at the very beginning of a prepared statement. Do not allow constant initialization to occur once control flow has a chance to diverge, to avoid the possibility of having uninitialized registers. Ticket [80ba201079ea60807]. (check-in: c5c53152d6 user: drh tags: trunk)
17:11
Have sqlite3_blob_bytes() return 0 following a failed call to sqlite3_reopen_blob(). (check-in: 476a8b4921 user: dan tags: trunk)
2010-12-04
19:35
Version 3.7.4 release candidate 2. (check-in: 40756fe1f1 user: drh tags: trunk)
18:20
Fix a memory leak in fts3 that can occur in an OOM condition. (check-in: 507027b70f user: dan tags: trunk)
2010-12-03
18:57
Remove an over-zealous call to memAboutToChange() from OP_MustBeInt. OP_MustBeInt will never invalidate the Mem.z pointer so the memAboutToChange() call is not necessary. (check-in: 841cf7a7db user: drh tags: trunk)
15:41
Version 3.7.4 release candidate 1 (check-in: 2e800cb87d user: drh tags: trunk)
15:04
Add tests for fts3 to backcompat.test. (check-in: b4eafde823 user: dan tags: trunk)
10:32
Add the "valgrind" permutation. This is the same as veryquick.test except that it omits the multi-process tests that do not work under valgrind. No changes to production or existing test code. (check-in: 4953130067 user: dan tags: trunk)
2010-12-02
17:39
Fix a bug causing fts3 to incorrectly return SQLITE_CORRUPT. (check-in: 099195b148 user: dan tags: trunk)
14:47
Exclude a test case from the inmemory_journal permutation of multiplex.test. (check-in: 474196d645 user: dan tags: trunk)
11:24
Fix a (harmless) valgrind warning in the rtree extension. (check-in: a94b9a395e user: dan tags: trunk)
06:08
Update misc7.test to account for EQP changes. (check-in: 917af565ac user: dan tags: trunk)
2010-12-01
23:42
Changed multiplex shim's xFilesize to return an error on mismatched chunk size. Added test of same. (check-in: 6818c6e42f user: shaneh tags: trunk)
22:08
Make sure a test of multiplex shim doesn't fail if a file already exists. (check-in: 80de240a32 user: shaneh tags: trunk)
20:49
Added TCL test case for converting to WAL mode with multiple connections. Added exception to the test case for Windows for not being able to delete the open journal file. (check-in: 7061601f49 user: shaneh tags: trunk)
19:00
Change the type of a variable in struct SrcList so that it fits in a 100 byte lookaside buffer on a 64-bit architecture. (check-in: 7df43f4892 user: dan tags: trunk)
15:36
Fix some warnings under MSVC in fts3 module. (check-in: c7771c0b22 user: shaneh tags: trunk)
11:46
Add test file e_resolve.test. (check-in: 6858df9c72 user: dan tags: trunk)
08:04
Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs. (check-in: 119ffe955e user: dan tags: trunk)
2010-11-30
12:12
Add test file e_dropview.test. (check-in: 6197822cc8 user: dan tags: trunk)
2010-11-29
18:36
Fix a warning in os_unix.c. (check-in: ee8dc8c87e user: dan tags: trunk)
18:22
On *BSD systems, reduce the number of open connections used by wal3.test to avoid running out of file-descriptors. (check-in: 0a3cba95a1 user: dan tags: trunk)
17:55
Fix compiler warnings discovered while building SQLite on http://www.devio.us/. (check-in: 5602ec95aa user: dan tags: trunk)
16:10
Add tests for very small cache-sizes (less than 10 pages). (check-in: 46b3fbdafe user: dan tags: trunk)
12:06
Add new test file e_droptrigger.test. (check-in: d23ef9b88c user: dan tags: trunk)
2010-11-26
16:49
Fix various compiler warnings. (check-in: c412f61229 user: drh tags: trunk)
16:31
Fix an uninitialized variable in fts3.c. (check-in: 3c3d076b42 user: dan tags: trunk)
15:17
Merge fts3 matchinfo() changes with trunk. (check-in: 7d660b91b7 user: dan tags: trunk)
15:13
Add a couple of comments to fts3_snippet.c. (Closed-Leaf check-in: ad8df6c5ee user: dan tags: fts3-experimental)
10:58
Merge with latest trunk changes. (check-in: 515cb3f4e5 user: dan tags: fts3-experimental)
2010-11-25
17:49
Add coverage tests (and associated fixes) for new matchinfo() code. (check-in: 70495ceccc user: dan tags: fts3-experimental)
10:33
Fix bugs in fts3 function matchinfo() when used with deferred tokens. (check-in: ddc2b7ec26 user: dan tags: fts3-experimental)
2010-11-24
19:26
Add code for the matchinfo 'longest common substring' feature. (check-in: 71011a4f9b user: dan tags: fts3-experimental)
15:02
Fix crashes that can occur when queries are run on an FTS4 table containing zero rows. (check-in: ed61fd20ad user: dan tags: fts3-experimental)
13:04
Fix a couple of compiler warnings in test_superlock.c. Add superlock.c to the Makefile.in used by the configure script. (check-in: 461f1a010f user: drh tags: trunk)
11:51
Remove some unused code from fts3. Add tests to fts3matchinfo.test. (check-in: ae40b34cf7 user: dan tags: fts3-experimental)
2010-11-23
20:55
Cherry-pick the lemon.c updates out of the lemon-update-2010 branch into the trunk. (check-in: 1541ae3fbd user: drh tags: trunk)
20:25
The previous check-in with changes to the max_page_count pragma was not quite correct. This check-in fixes the problem. (check-in: 30c26c3b13 user: drh tags: trunk)
19:16
Experimental changes to fts3 function matchinfo(). (check-in: 9cf0f2b76b user: dan tags: fts3-experimental)
18:59
Fix the max_page_count pragma so that it will not set to a value smaller than the current database size, as the documentation requires. Also, remove all occurances of atoi() from the core. (check-in: 2031974b60 user: drh tags: trunk)
2010-11-22
17:26
Fix a typo in unixCurrentTimeInt64() preventing compilation with NO_GETTOD defined. (check-in: 3df3e79b56 user: dan tags: trunk)
2010-11-20
12:01
Extra tests for "PRAGMA checkpoint_fullfsync". (check-in: e38c81cc18 user: dan tags: trunk)
10:57
Add extra tests for test_superlock.c. (check-in: 1c4e58e721 user: dan tags: trunk)
2010-11-19
23:50
Merge all the latest changes from the trunk into the apple-osx branch. (check-in: c8bc057c7d user: drh tags: apple-osx)
18:51
Merge the checkpoint_fullfsync pragma and the superlock demonstration into the checkpoint-v2 experimental branch. (Closed-Leaf check-in: ebf74015f0 user: drh tags: blocking-checkpoint)
18:48
Add tests for "PRAGMA checkpoint_fullfsync". (check-in: 765aa1b862 user: dan tags: trunk)
18:36
Merge in the superlock demonstration changes. (check-in: 570e79a8eb user: drh tags: trunk)
18:23
Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint operations only, not during ordinary commit fsyncs. (check-in: a069867301 user: drh tags: trunk)
18:20
Add file test_superlock.c with example code for obtaining an exclusive lock on either rollback or wal mode databases. (Closed-Leaf check-in: 1a3e7417a2 user: dan tags: superlock)
14:37
Add the SQLITE_FCNTL_FILE_POINTER verb to sqlite3_file_control(). (check-in: 4425b0645d user: drh tags: superlock)
09:58
Add file test/tt3_checkpoint.c that adds a multi-threaded test for blocking checkpoints to threadtest3. (check-in: 648dd157ef user: dan tags: blocking-checkpoint)
07:17
Add extra test cases for blocking checkpoints. (check-in: ac348ae25c user: dan tags: blocking-checkpoint)
04:22
Lemon: Fixed compiler warning on Visual C++. (Closed-Leaf check-in: 892c5f377a user: icculus tags: lemon-update-2010)
04:19
Lemon: correcting previous win32 access() fix.

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

03:55
Lemon: Patched to compile with Visual Studio. (check-in: 0b945101aa user: icculus tags: lemon-update-2010)
2010-11-18
19:28
Fixes for SQLITE_BUSY handling in blocking checkpoint code. (check-in: 4c663a4dcc user: dan tags: blocking-checkpoint)
16:59
Merge with latest trunk fix. (check-in: a8910e89de user: dan tags: blocking-checkpoint)
16:58
Ensure tcl is using utf-8 as the system encoding when running capi3e.test. (check-in: 0a95589f21 user: dan tags: trunk)
16:32
Merge with latest trunk changes. (check-in: e376480f08 user: dan tags: blocking-checkpoint)
16:14
Update test cases to account for the change in the previous commit. (check-in: ae089ec881 user: dan tags: blocking-checkpoint)
15:44
Added some tests to check that umlaut characters are supported in filenames. (check-in: c36f275d70 user: shaneh tags: trunk)
13:52
Restrict the scope of the fts3ExprCost() subroutine inside of FTS3. (check-in: 76681870a4 user: drh tags: trunk)
13:47
Fix compiler warnings. (check-in: 6c4f1d5c24 user: drh tags: trunk)
12:31
Prevent a possible segfault when the sqlite3_value_numeric_type() interface is misused to try to determine the numeric type of the NULL value returned from sqlite3_column_value() with an invalid column number. (check-in: 501b743bcb user: drh tags: trunk)
12:11
Modify the interface to the blocking wal-checkpoint functionality. (check-in: 72787c010c user: dan tags: blocking-checkpoint)
2010-11-17
02:02
Restrict the scope of the sqlite3_stmt_readonly() interface to a specific subset of prepared statement types. (check-in: 919b06c3a8 user: drh tags: trunk)
2010-11-16
23:10
Adding the sqlite3_stmt_readonly() interface. (check-in: fd5b2f23dd user: drh tags: trunk)
18:56
Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file. (check-in: 7e3fc2c833 user: dan tags: blocking-checkpoint)
02:49
Use the estimated number of rows computed for subqueries in the cost computations for outer queries. (check-in: 56bbc53924 user: drh tags: trunk)
2010-11-15
21:50
Change the EQP output for the min/max optimization from "SCAN" to "SEARCH". Other changes in where.c in support of full branch coverage testing. (check-in: d52b593978 user: drh tags: trunk)
16:29
Fix the EQP logic so that it correctly reports OOM errors while formatting "detail" text. (check-in: 136c2ac24e user: drh tags: trunk)
16:12
Change some test cases to account for the new EXPLAIN QUERY PLAN output. (check-in: 88a854e18f user: dan tags: trunk)
14:51
Test some example code from documentation page eqp.html. (check-in: 547bc2c232 user: dan tags: trunk)
14:44
Merge the EXPLAIN QUERY PLAN changes from experimental into trunk. (check-in: ce27bf3840 user: drh tags: trunk)
11:35
Minor additions to vacuum.test. (check-in: a397ed1622 user: dan tags: trunk)
2010-11-13
16:42
Change the EXPLAIN QUERY PLAN output to use "USING INDEX" instead of "BY INDEX", and to use "SEARCH" instead of "SCAN" for loops that are not full-table scans. (Closed-Leaf check-in: 6611b76b02 user: dan tags: experimental)
2010-11-12
17:41
Add EXPLAIN QUERY PLAN test cases to check that the examples in the documentation work. (check-in: 85fdad850a user: dan tags: experimental)
15:49
Change the test_multiplex.c code to use wrapper functions for all sqlite3_vfs methods (instead of copying function pointers from the underlying vfs into the multiplex vfs). This is required to work with test_osinst.c. (check-in: 1244ef9f7e user: dan tags: trunk)
15:36
Reduce the number of branches that need to be tested in the explainIndexRange() function of where.c. (check-in: 6fdae9a635 user: drh tags: experimental)
2010-11-11
17:48
Use "COMPOUND" instead of "COMPOSITE" in the EXPLAIN QUERY PLAN output to describe UNION, UNION ALL, EXCEPT and INTERSECT operations. (check-in: 28643b85d9 user: dan tags: experimental)
16:46
Add a row of EXPLAIN QUERY PLAN output for each composite select operation (UNION, EXCEPT etc.) in the query. (check-in: 00fb8468b5 user: dan tags: experimental)
11:43
Fix a bug in the EXPLAIN QUERY PLAN code. (check-in: 7ae068952f user: dan tags: experimental)
10:36
Modifications to test cases to account for new EXPLAIN QUERY PLAN output. (check-in: 30904ef841 user: dan tags: experimental)
2010-11-09
20:33
Fix an assert that fired incorrectly when PRAGMA omit_readlock was set. (check-in: e068758222 user: shaneh tags: trunk)
20:08
Add "PRAGMA checkpoint_fullfsync". Similar to "PRAGMA fullfsync", but enables full fsyncs only during checkpoint operations. Update: This change was added to the trunk by check-in [a069867301de3ca2e17] (Closed-Leaf check-in: 756589ad6e user: dan tags: apple-osx-exp)
17:49
Merge with latest trunk changes. (check-in: 4b5c93bc7c user: dan tags: experimental)
17:35
Add missing comments and fix other issues with routines used by new EQP features. (check-in: 925f35c535 user: dan tags: experimental)
14:49
Further enhancements and fixes for explain query plan. (check-in: 73c93f5a2a user: dan tags: experimental)
01:53
Back out the prior attempt to enable full-fsync for WAL and attempt the same thing using a completely different approach. (check-in: f59949fac1 user: drh tags: apple-osx-exp)
00:47
Experimental changes to test defaulting to fullfsync for WAL mode (check-in: 77b343cfc3 user: adam tags: apple-osx-exp)
00:43
Integrated proxy locking file support for WAL journal mode and double free fix (check-in: fd4d38fa66 user: adam tags: apple-osx)
2010-11-08
19:16
Changes to the multiplex VFS to optionally (compiler define) allow the "chunk extension" to overwrite the right-most chars of the filename instead of simply being appended. (check-in: 07da0a0bef user: shaneh tags: trunk)
19:01
Experimental changes to EXPLAIN QUERY PLAN. (check-in: f4747eb83d user: dan tags: experimental)
2010-11-05
20:50
Fix to xTruncate and more journal mode tests for the multiplex VFS. (check-in: 65fa1164f0 user: shaneh tags: trunk)
18:07
Fix os_unix.c so that it works with the test_multiplex module. (check-in: 72ba3e368b user: dan tags: trunk)
17:51
More tests and added support for xDelete in multiplex VFS. (check-in: f2004b44bf user: shaneh tags: trunk)
03:58
Additional error checking and tests for multiplex VFS. (check-in: 1ab9a59237 user: shaneh tags: trunk)
03:43
Additional tests and commenting for the multiplex VFS. (check-in: 8ed944ba74 user: shaneh tags: trunk)
00:04
Update the configure script for version 3.7.4. (check-in: 18a73795b4 user: drh tags: trunk)
00:01
Merge the multiplexer VFS demo into the trunk. (check-in: 1635d927cd user: drh tags: trunk)
00:00
Fix the Makefile.in so that it works with the multiplexer VFS. (Closed-Leaf check-in: 54e2efb667 user: drh tags: experimental)
2010-11-04
21:14
Back out an unintended change to permutations.test. (check-in: 57fe35357d user: drh tags: experimental)
21:13
Another change for testing on Windows. (check-in: 2625886b19 user: shaneh tags: experimental)
21:03
Fix the main.mk makefile to include test_multiplex.c for testfixture. (check-in: c27c51180e user: drh tags: experimental)
20:50
First attempt at a sharding VFS to split large DBs. (check-in: dd4dc8a426 user: shaneh tags: experimental)
20:47
Fix icon size so it's really 32x32. (check-in: 62c494f694 user: shaneh tags: experimental)
20:46
Updates for Windows. (check-in: cc9d9a12c3 user: shaneh tags: experimental)
04:47
Include the print_pager_state() function only if SQLITE_DEBUG is defined. (check-in: 3104f17e5d user: dan tags: trunk)
2010-11-02
17:41
Changes to allow FTS4 tables to be created without the underlying %_docsize table (in order to save space). (check-in: 31989b18f5 user: dan tags: trunk)
15:26
Add evidence marks for the sqlite3_blob_reopen() interface. Fix compiler warnings in test1.c. Fix incorrect evidence marks on e_select.tcl. (check-in: 3771faa88e user: drh tags: trunk)
2010-11-01
18:45
Add test cases to restore coverage of pager.c and wal.c. (check-in: 6cae552927 user: dan tags: trunk)
17:38
If a database file with the WAL flag set is opened in exclusive-locking mode, use heap memory to store the wal-index instead of shared-memory. (check-in: 8dd5c69198 user: dan tags: trunk)
14:34
Change the version number to 3.7.4. (check-in: db64843b54 user: drh tags: trunk)
05:54
Fix a broken test case in exclusive.test. (check-in: 582db83294 user: dan tags: trunk)
05:42
Changes to test scripts so that they work with SQLITE_ENABLE_ICU. (check-in: 465c819fdb user: dan tags: trunk)
2010-10-31
22:47
Fix a test module comment typo reported on the mailing list. (check-in: 87eb1f04d2 user: drh tags: trunk)
22:42
Fix a typo in a comment inserted by the amalgamation builder. Typo reported on the mailing list. (check-in: 6a6bb6ce73 user: drh tags: trunk)
2010-10-30
15:21
Test cases and minor changes to make fts3 more robust in the face of a corrupt database. (check-in: b770290561 user: dan tags: trunk)
2010-10-29
18:45
Add extra test cases and changes to fts3 to avoid crashing on a corrupt database. (check-in: 252f0e457d user: dan tags: trunk)
2010-10-28
15:52
Add new "dynamic_triggers" test case to threadtest3.c. (check-in: a4691563dd user: dan tags: trunk)
15:49
This was suppose to go on "trunk" but got committed to the wrong branch. Add new "dynamic_triggers" test case to threadtest3.c. (Closed-Leaf check-in: d9e588ef17 user: dan tags: mistake)
11:31
Enforce the MAX_EXPR_DEPTH limit while building expression trees during SQL parsing. (check-in: 2625eee0cb user: dan tags: trunk)
2010-10-27
19:23
Add tail recursion to the sqlite3ExprDelete() routine in order to keep down stack space usage for really, really large expressions. Later: The tail recursion is dangerous since the recursion might happen after the expression has been freed. (check-in: 7324c7f2f8 user: drh tags: mistake)
19:08
Avoid trying to allocate a negative number of bytes of memory in the test wrapper for sqlite3_blob_read(). (check-in: 739b5d9aa4 user: dan tags: trunk)
18:10
Merge experimental fts3/fts4 changes with trunk. (check-in: 988164cf48 user: dan tags: trunk)
16:52
Fix a buffer overread in fts3 that can occur if the database is corrupt. (Closed-Leaf check-in: 84194c4195 user: dan tags: experimental)
15:36
Fix a memory leak in the update_hook method of the TCL interface. (check-in: 1d17e3dc83 user: drh tags: trunk)
10:55
In fts4, store the total number of bytes of for all records in the table in the %_stat table. (check-in: 941647d121 user: dan tags: experimental)
2010-10-26
18:42
Structural coverage tests for vdbeblob.c. Including experimental new API sqlite3_blob_reopen(). (check-in: 97c6b2616d user: dan tags: experimental)
11:56
Add missing header comments for changes related to the experimental sqlite3_blob_reopen() API. (check-in: d1cc5c93f0 user: dan tags: experimental)
07:14
More coverage tests for fts3.c. (check-in: 7a2f286400 user: dan tags: experimental)
2010-10-25
19:01
Further improvements to coverage of fts3.c. Fixes for bugs revealed by the same. (check-in: 918b609290 user: dan tags: experimental)
12:47
Test coverage improvements for fts3.c. (check-in: a8b1d99899 user: dan tags: experimental)
09:01
Add test for matchinfo when a phrase includes some common tokens. (check-in: 80a54ebc41 user: dan tags: experimental)
2010-10-23
19:07
Fixes for the matchinfo() function related to FTS4 common token handling. (check-in: deb80eac91 user: dan tags: experimental)
2010-10-22
19:03
Add new test file fts3defer2.test. (check-in: 5a4d5bfcae user: dan tags: experimental)
16:44
Add missing comments and fix compiler warnings in new FTS3/4 code. Other minor fixes too. (check-in: 1c9c70fec3 user: dan tags: experimental)
13:55
Prevent an assert from failing when opening a zero-length database file with an apparently hot journal with locking_mode=exclusive set. (check-in: f000ac1e52 user: dan tags: trunk)
2010-10-21
22:58
Make sure the estimated row count for ephemeral tables is initialized so that automatic indices can be used on those tables. (check-in: d30f7b2def user: drh tags: trunk)
15:49
Merge trunk changes into experimental branch. (check-in: fd1e5cade0 user: dan tags: experimental)
15:12
Fix some segfaults that could occur in obscure circumstances where error messages contained characters that could be mistaken for printf format specifiers. (check-in: f91471e723 user: dan tags: trunk)
12:34
Fix a typo-bug that prevented --disable-amalgamation from working in Makefile.in. Also fix an overly long line in Makfile.in. (check-in: 2c3c4ba035 user: drh tags: trunk)
03:13
Add new WHERETRACE macros for better diagnostics of the query planner. Added a new test case for the performance regression fixed by the previous check-in. (check-in: 1e0db99797 user: drh tags: trunk)
02:05
Fix the query planner so that it uses the multi-index OR-clause solution if that is the lowest cost estimate. A prior bug cause the multi-index solution to be ignored in some circumstances. (check-in: 28ba625528 user: drh tags: trunk)
2010-10-20
18:56
Updates to FTS4 to improve performance and make more accurate cost estimates for prefix terms. (check-in: d0a450ce78 user: dan tags: experimental)
2010-10-19
14:08
Experimental changes to fts4 to try to selectively avoid loading very large doclists. (check-in: 5ae0ba447a user: dan tags: experimental)
2010-10-14
01:17
Avoid taking locks on unused database connections when committing a read transaction. (check-in: c0ee614fd9 user: drh tags: trunk)
01:16
Check-in [d3c95e3a4e08d0] was incorrect. This is the correct fix for sqlit3_bind_blob(). Ticket [860399cc408f2dd5f4] (check-in: ea8c2f5f8a user: drh tags: trunk)
2010-10-12
02:13
Fix the sqlite3_bind_blob() interface (and its kin) so that the destructor is invoked if the binding fails. Ticket [860399cc408f2dd5f41aed44b] Update the documentation to explain which interfaces invoke their destructors on failure and which do not. (check-in: d3c95e3a4e user: drh tags: trunk)
2010-10-11
17:58
Make sure the sqlite3_create_collation() interfaces always return an error code if they fail. Ticket [a04e42a3fcacaffa3133436]. (check-in: 6464276ec1 user: drh tags: trunk)
17:57
Further changes to extension loading to support compile-time options. (check-in: f818fb6f73 user: drh tags: trunk)
13:12
Make APIs added since version 3.6.0 accessible to loadable extensions. (check-in: 76c64a3556 user: drh tags: trunk)
2010-10-08
16:09
Add tests to e_createtable.test. (check-in: 38bec827f1 user: dan tags: trunk)
02:34
Version 3.7.3 (check-in: 2677848087 user: drh tags: trunk, release)
2010-10-07
13:29
Update the CLI test script to expect a version number of 3.7.3. (check-in: e55ada8924 user: drh tags: trunk)
2010-10-06
20:25
Update the configure script and Makefile so that they work with 3.7.3. (check-in: 97b63a1168 user: drh tags: trunk)
18:55
Fix long-standing bugs with the handling of LIMIT clausing in compound SELECT statements with FROM clause subqueries. Ticket [38cb5df375078d3f9]. (check-in: b0450120ea user: drh tags: trunk)
16:42
Fix minor test suite problems causing errors on OSX. (check-in: 759c954fee user: dan tags: trunk)
09:57
Fix a bug in test code that was causing a valgrind error. No changes to production code. (check-in: f29da7bec6 user: dan tags: trunk)
2010-10-05
18:22
Do not embedded #if inside an assert() statement. Fix for check-in [dca8763872a] (check-in: d7d4a94fc1 user: drh tags: trunk)
17:02
Have the pager change to at least WRITER_CACHEMOD state before marking any pages as dirty (instead of immediately after). Otherwise, if an error occurs, the pager may be left in WRITER_LOCKED state with dirty pages in the cache. (check-in: 471a4efbb7 user: dan tags: trunk)
15:41
If walLockExclusive() fails for reasons other than SQLITE_BUSY inside of walRestartLog() then propagate that error back up to the application. (check-in: 04dcba6b33 user: drh tags: trunk)
12:05
Avoid all memory allocation (and hence the possiblitity of OOM failure) in sqlite3_value_double() and sqlite3_column_double(). (check-in: 4afdf9705a user: drh tags: trunk)
11:33
Fix an assert() failing on OSX. (check-in: dca8763872 user: dan tags: trunk)
08:13
Prevent backcompat.test from mistaking directories for binary executables. (check-in: 717a1e50f0 user: dan tags: trunk)
2010-10-04
23:55
Fix a performance regression (relative to version 3.6.23.1) caused by the query planner taking into account non-indexable WHERE clause terms to select the outermost join loops when it should be selecting tables for the outermost loop that do not benefit from being in an inner loop. (check-in: ece641eb89 user: drh tags: trunk)
16:06
Fix a couple of test script problems. (check-in: dd10690140 user: dan tags: trunk)
15:47
Fix memsubsys1.test so that it works with TEMP_STORE>=2. (check-in: 8ad88ee0c1 user: dan tags: trunk)
14:11
Warning cleanup from MSVC. (check-in: cde62657d6 user: shaneh tags: trunk)
11:01
Fix broken evidence marks in e_expr.test. (check-in: 37ff94cec8 user: dan tags: trunk)
10:45
Add tests for table-constraints to e_createtable.test. (check-in: 70f511872e user: dan tags: trunk)
2010-10-02
01:01
Backport the very lastest R-Tree in order to take advantage of its enhanced robustness to corrupt databases. (Leaf check-in: 29a681dd7b user: drh tags: apple-osx-3623)
01:00
Fix the amalgamation builder so that it works with the rtree updates of the prior check-in. (Leaf check-in: 265b0b29b8 user: drh tags: branch-3.6.23)
2010-10-01
20:45
Backport the RTree implementation from the trunk into the 3.6.23 branch. The code for the application-defined query boxes is still present but is disabled. The reason for this backport is to take advantage of recent enhancements to robustness to database corruption. (check-in: 854b23c117 user: drh tags: branch-3.6.23)
19:04
Add tests for CHECK and UNIQUE constraints to e_createtable.test. (check-in: fb8db5581d user: dan tags: trunk)
17:23
Add #ifndef USE_SYSTEM_SQLITE...#endif around the bundled SQLite library for the TCL bindings. (check-in: 8d85584a4e user: drh tags: trunk)
15:11
Not true: For a zeroblob, the Mem.z pointer can be null: The Mem.z pointer can never been NULL for a string or blob, even a zero-length string or blob. Assert this fact. (Closed-Leaf check-in: efda310480 user: drh tags: mistake)
13:28
Updates to the showjournal.c utility in order to bring it up to version 3. (check-in: fa97d89546 user: drh tags: trunk)
2010-09-30
20:33
Merge experimental into trunk: Refactor the text-to-numeric conversion routines to work without zero-terminators and in UTF16 as well as UTF8. Avoid invalidating strings with doing affinity conversions. (check-in: 07ee080ec4 user: drh tags: trunk)
20:11
Fix some matching issues in enc4.test affected by TCL versions. (Closed-Leaf check-in: dd6d61a967 user: shaneh tags: experimental)
18:43
Add further tests to e_createtable.test. (check-in: 0a4528d629 user: dan tags: trunk)
18:30
Fix memory leak in enc4.test script. (check-in: bfc294ae43 user: shaneh tags: experimental)
18:19
Additional encoding tests. (check-in: c7f9363617 user: shaneh tags: experimental)
18:12
Remove unnecessary calls to memAboutToChange() in vdbe.c. An affinity change no longer invalidates shallow copies. (check-in: afb0fd0b04 user: drh tags: experimental)
17:33
Do correct affinity transformations on floating point values which have a decimal point at the beginning or end of the mantissa. Ticket [3998683a16a7076e08f5]. (check-in: ca154f97a5 user: drh tags: experimental)
16:51
Changes to remove sqlite3FitsIn64Bits(). (check-in: 43fef1cab6 user: shaneh tags: experimental)
14:48
Fix the handling of default values for ALTER TABLE ADD COLUMN columns so that is able to deal with negative numbers, including large negative numbers. Ticket [8454a207b9fd2243c4] (check-in: ce6cc16e3a user: drh tags: experimental)
00:50
Rework the text to numeric conversion routines so that they work with either UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. (check-in: 14eed3a0e0 user: drh tags: experimental)
2010-09-29
18:26
Add test cases to e_createtable.test. (check-in: f34dc54d46 user: dan tags: trunk)
13:31
Add tests for "CREATE TABLE ... AS SELECT ..." statements to e_createtable.test. (check-in: 1ef0dc9328 user: dan tags: trunk)
01:54
Updates to sqlite3_finalize() documentation. (check-in: 8c5994cf8e user: drh tags: trunk)
2010-09-28
20:26
Simplify the test that determines if the name of a new table collides with a prior index name. (check-in: 3f30f00a38 user: drh tags: trunk)
19:16
Fix some problems that can occur if a trigger has the same name as another database object. (check-in: 655991ec8a user: dan tags: trunk)
17:37
Merge accidental fork. (check-in: 33c8b9c710 user: drh tags: trunk)
17:34
Add tests to e_createtable.test. Allow a table to be created if there is an index of the same name in a different attached database. (check-in: 6251e58740 user: dan tags: trunk)
17:34
Get ANALYZE working again with -DSQLITE_ENABLE_STAT2 and virtual tables. (check-in: b7a26427af user: drh tags: trunk)
15:55
Disallow statements of the form "CREATE TEMP TABLE main.t1 ...". (check-in: dd1b34bab7 user: dan tags: trunk)
15:25
Updates to e_vacuum.test so that it works when SQLITE_DEFAULT_AUTOVACUUM=1 is set. (check-in: 890816c52d user: drh tags: trunk)
14:26
Fix several harmless compiler warnings. (check-in: 7be03ecc04 user: drh tags: trunk)
14:11
Fix an incompatibility with OMIT_VIRTUALTABLE in e_vacuum.test. (check-in: 7d0b881a62 user: dan tags: trunk)
13:12
Updates to the sqlite3_get_table() documentation. (check-in: c7aa238c37 user: drh tags: trunk)
07:24
Update the version number to 3.7.3 in preparation for the next release. (check-in: 88108fff67 user: drh tags: trunk)
07:14
Merge fixes for ticket [b351d95f9cd5ef17e9d9dbae18f5ca8611190001] into the trunk. (check-in: 1f7ef0af8d user: drh tags: trunk)
07:11
Replace some unreachable branch instructions with assert() statements. (Closed-Leaf check-in: 88b84bf18a user: drh tags: bug-b351d95f9c)
06:00
Tweaks to help facilitate structural test coverage. (check-in: ff49a5f00b user: drh tags: bug-b351d95f9c)
04:14
Test case and fix for the specific failure of ticket [b351d95f9cd5ef17e9d9dbae]. (check-in: 57789cfe67 user: drh tags: bug-b351d95f9c)
03:55
Use OP_Copy rather than OP_SCopy at one point in aggregate processing where it is needed to avoid shallow-copy misuse. (check-in: a5eefd5239 user: drh tags: bug-b351d95f9c)
00:25
Continuing work toward detecting and fixing shallow-copy misuse. (check-in: d0342f4bb9 user: drh tags: bug-b351d95f9c)
2010-09-27
21:09
Add assert() statements that fail when a shallow copy is accessed after the original has been modified. These assert() statements should detect the kinds of subtle SCopy bugs such as caused the fault in ticket [b351d95f9cd5ef17e9d9dbae18f]. (check-in: 8b8e1732e8 user: drh tags: bug-b351d95f9c)
18:14
Simplifications to the expression code generator. Remove about 80 lines of older and obsolete code. (check-in: 53f5cfe115 user: drh tags: trunk)
2010-09-25
22:32
Enhance the ANALYZE command so that it gathers statistics in the sqlite_stat1 table even for tables that are empty or have no indices. (check-in: a7645d2938 user: drh tags: trunk)
17:29
Add new file e_createtable.test. (check-in: 20e16fef55 user: dan tags: trunk)
14:13
Do not call gethostuuid() on MacOS 10.4 and earlier, since it is not supported there. (check-in: 44deaaefee user: drh tags: trunk)
07:51
Add tests to file e_reindex.test. (check-in: eec7dc9192 user: dan tags: trunk)
2010-09-24
19:14
Modify some evidence tags to match updated gifs. (check-in: f44de500be user: dan tags: trunk)
18:08
Merge experimental branch back into trunk. (check-in: 83ecec5d15 user: dan tags: trunk)
18:04
Add new file e_vacuum.test. Move part of e_select.test into e_select2.test. (Closed-Leaf check-in: 30801892c6 user: dan)
09:32
Add experimental branch disallowing VACUUM when there are one or more active SQL statements. (check-in: c1ebcacd9b user: dan tags: experimental)
08:00
Modify testable statement ids in a few test files to account for recent docsrc changes. (check-in: 7893e52595 user: dan tags: trunk)
2010-09-23
18:47
Add tests to e_delete.test. (check-in: fab3b383bb user: dan tags: trunk)
2010-09-22
19:06
Further tests and changes to make the r-tree module more robust. (check-in: 7ff3574b9c user: dan tags: trunk)
14:19
Add new file rtreeA.test, to test that the r-tree extension doesn't crash if it encounters a corrupt or inconsistent database. (check-in: 68a305fd5a user: dan tags: trunk)
2010-09-21
19:00
Add new file e_delete.test. (check-in: 14e8659e57 user: dan tags: trunk)
16:59
Add tests to e_update.test. (check-in: 528f71e29c user: dan tags: trunk)
2010-09-20
19:17
Add test file e_update.test. (check-in: 03985ed4a0 user: dan tags: trunk)
14:55
Changes to test scripts to work with SQLITE_TEMP_STORE=2. (check-in: ba8ca9c9e2 user: dan tags: trunk)
14:05
Add further tests to e_insert.test. (check-in: eb3d0d8bb7 user: dan tags: trunk)
08:47
Add a test case to verify that bug [313723c356] has been fixed. (check-in: 4ea134a84c user: dan tags: trunk)
2010-09-18
19:36
Make sure the pager cache is cleared if there is any difficulty starting a new read transaction in WAL mode. Ticket [313723c356483eff2a4c4bdd2c]. (check-in: e14ef0e8b4 user: drh tags: trunk)
19:00
Add new test file e_insert.test. (check-in: 8023a3091b user: dan tags: trunk)
15:15
Fix a couple of stale evidence marks in e_select.test. (check-in: 14227724a8 user: dan tags: trunk)
15:03
Add tests to e_select.test. (check-in: 0ee9e75571 user: dan tags: trunk)
2010-09-17
22:39
Clarifications to the sqlite3_auto_extension() documentation. (check-in: ca96e0df29 user: drh tags: trunk)
19:45
Updates to the documentation for sqlite3_create_collation(). (check-in: 3df7715a77 user: drh tags: trunk)
19:04
Add tests for some syntax diagrams in lang_select.html. (check-in: 2254e93bd5 user: dan tags: trunk)
17:10
Remove additional occurrences of <ctype.h> from FTS2. (check-in: ee52589c80 user: drh tags: trunk)
16:01
Add new test file fts3shared.test to test the previous change. (check-in: a207f74408 user: dan tags: trunk)
15:28
Have all FTS3 queries obtain a read or write table-lock at the shared-cache level before doing anything else. (check-in: 018e82c775 user: dan tags: trunk)
01:07
Completely remove all trace of ctype.h from FTS2. (check-in: 876845661a user: drh tags: trunk)
2010-09-16
23:18
Fix a comment typo in memjournal.c (check-in: 9b272ed46f user: drh tags: trunk)
19:49
Updates to the requirements on the sqlite3_create_function() family of interfaces. (check-in: f03c608993 user: drh tags: trunk)
18:51
Add tests for ORDER BY, LIMIT and OFFSET clauses to e_select.test. (check-in: 7c989db55c user: dan tags: trunk)
16:16
Further tweaks related to deleting files from malloc_common.tcl. (check-in: 3e649f80e2 user: dan tags: trunk)
15:58
Fix a problem with the previous change to malloc_common.tcl. (check-in: e07a33ea0f user: dan tags: trunk)
15:23
Change code in malloc_common.tcl (test code) to retry a "file delete -force" if it fails. (check-in: ebfb04f00c user: dan tags: trunk)
2010-09-15
23:41
Updates to the sqlite3_progress_handler() documentation. (check-in: 78f659ee9b user: drh tags: trunk)
19:02
Add tests for ORDER BY clauses to e_select.test. (check-in: 14f1566327 user: dan tags: trunk)
17:54
Added the sqlite3_soft_heap_limit64() interface. Deprecate the older sqlite3_soft_heap_limit() interface. (check-in: 82268a2c3d user: drh tags: trunk)
11:42
Add trivial test case to make sure shared-cache mode does not automatically turn on exclusive-locking mode. (check-in: a0ab3902f1 user: dan tags: trunk)
2010-09-14
18:56
Further tests for compound SELECT statements. (check-in: a0f01ebab9 user: dan tags: trunk)
18:23
Clarify the documentation to better explain when an automatic re-prepare can be induced by rebinding parameters. Add evidence marks to the automatic re-prepare logic. (check-in: 3e11f5155c user: drh tags: trunk)
10:53
Fix some test failures found running releasetest.tcl. (check-in: 56a9ce7774 user: dan tags: trunk)
2010-09-13
19:03
Fix walmode.test so that all tests pass with SQLITE_TEMP_STORE=3. (check-in: 6ba6e59a9d user: dan tags: trunk)
18:58
Add tests for compound SELECT statements to e_select.test. (check-in: 8b0b009f29 user: dan tags: trunk)
14:38
Fix a couple of test files so that they work with DEFAULT_AUTOVACUUM. (check-in: 8cb39306f4 user: dan tags: trunk)
12:15
Run the multi-threaded tests in test/threadtest3.c as part of releasetest.tcl. Remove the OMIT_BUILTIN_TEST symbol from the "Device-Two" configuration. (check-in: 3f5406e323 user: dan tags: trunk)
11:29
Alter some configurations in releasetest.tcl. Print out the wall-clock time taken for each test after it is executed. (check-in: a91c5af3b0 user: dan tags: trunk)
2010-09-11
17:37
Add tests for "DISTINCT" and "ALL" to e_select.test. (check-in: 43a99d9a88 user: dan tags: trunk)
16:25
Fix a couple of incorrect evidence marks on malloc(). (check-in: f9b5c5cb13 user: drh tags: trunk)
16:15
Additional evidence marks on the malloc() implementation. Update the documentation to explain that mallocs are not necessarily 8-byte aligned if the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option is used. (check-in: 42b4bf9e72 user: drh tags: trunk)
15:54
Add assert() statements to demonstrate that memory allocations are always aligned to an 8-byte boundary (unless SQLITE_4_BYTE_ALIGNED_MALLOC is defined). (check-in: 305cc4e6c1 user: drh tags: trunk)
05:15
When building from the amalgamation with ENABLE_RTREE defined, do not try to include sqlite3rtree.h. (check-in: 5b63e981f1 user: dan tags: trunk)
2010-09-10
23:16
fixed memory leak in proxy lock file error handling (check-in: e01c5f3eda user: adam tags: apple-osx)
20:23
A further correction to the sqlite3_create_function() interface documentation. (check-in: c65583dbc7 user: drh tags: trunk)
20:19
replaced relative lock proxy paths with absolute (check-in: 782c33512a user: adam tags: apple-osx)
19:18
Add tests to e_select.test. (check-in: 3a051a76f7 user: dan tags: trunk)
16:38
Updates to the documentation on the sqlite3_create_function() family of interfaces. (check-in: 9d277e0b82 user: drh tags: trunk)
13:23
Make sure SQLite is running with MEMSTATUS enabled at the beginning of every test script. (check-in: 6999531405 user: drh tags: trunk)
00:59
replaced relative lock proxy paths with absolute (check-in: 6a88cd46ae user: adam tags: apple-osx)
00:18
Make sure SQLite is running with MEMSTATUS enabled at the beginning of every test script. (check-in: b6e9a4d8f7 user: drh tags: apple-osx)
2010-09-09
23:42
Make sure MEMSTATUS is enabled at the beginning of the memsubsys2.test script. (check-in: c23b97219d user: drh tags: trunk)
23:40
Make sure MEMSTATUS is enabled at the beginning of the memsubsys2.test script. (check-in: cf23a35497 user: drh tags: apple-osx)
23:31
The merge for check-in [415c448dc4] did not do exactly write, resulting in a subtle bug in the SQLITE_FCNTL_SIZE_HINT logic. This check-in is the fix. (check-in: badaaa18fd user: drh tags: apple-osx)
19:02
Add test cases to e_select.test. (check-in: 5e73f7b2b7 user: dan tags: trunk)
18:25
Further updates to the sqlite3_pcache_methods documentation, plus the addition of a few evidence marks related to pcache. (check-in: 34edb54bb0 user: drh tags: trunk)
17:43
Make sure memory statistics are enabled for the dbstatus.test script. (check-in: 35b943a0fc user: drh tags: trunk)
15:48
Updates to the sqlite3_pcache_methods documentation. (check-in: b21425c404 user: drh tags: trunk)
11:33
Add WHERE clause tests to e_select.test. (check-in: 721b73fa5c user: dan tags: trunk)
10:00
Add tests for sub-select statements in the FROM clause of a SELECT to e_select.test. (check-in: 2c6b1ca952 user: dan tags: trunk)
2010-09-08
19:16
Fix problem with test names in e_select.test. (check-in: 8fe34faf6b user: dan tags: trunk)
19:02
Add tests to e_select.test. (check-in: 727ced6bab user: dan tags: trunk)
16:30
Updates to the documentation of the sqlite3_column_xxxx() family of interfaces. Enhance sqlite3_column_blob() so that it always returns a NULL pointer for a zero-length blob. (check-in: a932fab299 user: drh tags: trunk)
02:30
Improved documentation of SQLITE_THREADSAFE and sqlite3_column_text() and evidence marks for each. (check-in: 0d7a538948 user: drh tags: trunk)
2010-09-07
23:28
Updates to the documentation on the VFS xOpen method. (check-in: 1719cb8f49 user: drh tags: trunk)
19:10
Update the sqlite3_limit() documentation to explain that SQLITE_LIMIT_VDBE_OP is not enforced. (check-in: 17be9beeab user: drh tags: trunk)
19:05
Add tests to e_select.test. (check-in: 282dae7edf user: dan tags: trunk)
14:59
Revised documentation for sqlite3_limit(). Added some evidence marks and assert() statements to verify sqlite3_limit() behavior. (check-in: 883b9b7441 user: drh tags: trunk)
14:12
Example icon file (32x32x4) for new logo. (check-in: bd70079467 user: shaneh tags: trunk)
12:17
Remove a redundant test for multiple output columns in a scalar subquery. (check-in: 657472bce2 user: drh tags: trunk)
2010-09-06
20:28
In the test scripts, changes instances of the TCL interface option "-has_codec" into the correct "-has-codec". (check-in: f53856a555 user: drh tags: trunk)
18:50
Add test cases to e_select.test. (check-in: 9db26d5ef5 user: dan tags: trunk)
18:44
Remove proprietary information from the releasetest.tcl script and add it to the public repository. (check-in: e1d4a87e4e user: drh tags: trunk)
2010-09-04
18:52
Add test file e_select.test. (check-in: 8b9d8c226e user: dan tags: trunk)
2010-09-03
18:50
Documentation enhancements for sqlite3_db_status(). Evidence marks on the SQL function call intrface. (check-in: f06c7b1973 user: drh tags: trunk)
12:05
Improved documentation of the sqlite3_column_count() and sqlite3_data_count() interfaces. (check-in: 0593373d4b user: drh tags: trunk)
10:58
Add a few more subquery tests to e_expr.test. (check-in: 189cba0072 user: dan tags: trunk)
04:29
Reduce the amount of memory taken up by WAL mmaped regions under Windows. (check-in: f213e133f6 user: shaneh tags: trunk)
03:32
Fix a discrepancy between the documented behavior of SQLITE_DBCONFIG_LOOKASIDE and what it actually does. Also add evidence marks on the DBCONFIG_LOOKASIDE implementation. (check-in: f483be4413 user: drh tags: trunk)
2010-09-02
19:01
Move the test for an (illegal) scalar sub-query that returns more than one column to earlier in SELECT processing in order to avoid an assert() that can happen later on. (check-in: a55842cfb5 user: dan tags: trunk)
18:13
Fix an off-by-one error in the scratch memory allocator. (check-in: 5a9591607a user: drh tags: trunk)
17:15
Use sqlite3_mutex_notheld() instead of !sqlite3_mutex_held() inside of assert() statements since the former works when mutexing is disabled while the latter does not. (check-in: 2211486b69 user: drh tags: trunk)
14:35
Add test case to verify the previous change is correct. (check-in: 2a5eed35b4 user: dan tags: trunk)
14:00
Fix the computation of the offset on the mmap() for the Nth shared memory region. Because of the way shared memory is accessed, the old computation, though wrong, still happened to always get the right answer. Nevertheless, it is good to do the computation correctly. (check-in: 36397f62f2 user: drh tags: trunk)
11:53
Add tests for the EXISTS operator to e_expr.test. (check-in: 9f9a95cc80 user: dan tags: trunk)
10:08
If MEM_STATUS is disabled, avoid holding the STATIC_MEM mutex when calling the user-defined xMalloc method. Holding the mutex causes problems for memsys3 and memsys5. (check-in: 4f20f8ba73 user: dan tags: trunk)
04:30
Fix a few typos. Update evidence marks. (check-in: c90a68b77e user: shaneh tags: trunk)
2010-09-01
19:29
Identify additional requirements in the sqlite3_vfs object documentation. (check-in: 47064453c3 user: drh tags: trunk)
18:00
Add tests to quota.test. (check-in: ec9af6ebd4 user: dan tags: trunk)
16:19
Call quota callback destructors from within sqlite3_quota_shutdown(). (check-in: fb80c6f3de user: dan tags: trunk)
15:26
Boundary value fix to the descriptive comment at the top of test_quota.c. (check-in: 7f6072f082 user: drh tags: trunk)
15:22
Merge the test_quota.c module into the trunk. (check-in: 2e1a02026a user: drh tags: trunk)
15:11
Fix the TCL interface to test_quota.c so that it works with empty callback scripts. (Closed-Leaf check-in: 19e95f6335 user: drh tags: experimental)
14:58
Variable name and comment changes to test_quota.c for clearer presentation. (check-in: 38ed1992c8 user: drh tags: experimental)
14:45
Make all private routines in test_quota.c begin with "quota". Fix a test_quota.c segfault when setting a zero-quota. (check-in: c0d0fc3a1c user: drh tags: experimental)
14:35
Add the sqlite3_quota_dump test command. Add a destructor argument on the sqlite3_quota_set() interface. (check-in: 7a624b5ae2 user: drh tags: experimental)
13:09
Clean up comments in the test_quota.c source file. (check-in: c1eec7dba6 user: drh tags: experimental)
12:50
Update the quota shim so that when the same file is opened multiple times, its size only counts against the quota once. (check-in: f5d2638030 user: drh tags: experimental)
11:50
Add an assert() with an evidence mark to show that automatically generated rowids are positive. (check-in: 740adca34e user: drh tags: trunk)
11:40
Add file test_quota.c, demonstrating how file-system quotas may be implemented as a VFS wrapper. (check-in: 383eb87bbf user: dan tags: experimental)
02:38
Fix some compiler warnings under MSVC. (check-in: afdc82a99e user: shaneh tags: trunk)
02:37
Ensure randomly generated rowids never go negative. (check-in: 631423677b user: shaneh tags: trunk)
2010-08-31
16:25
Do not clear the internal "schema has changed" flag when performing a savepoint rollback. The schema changes may not have taken place within the savepoint being rolled back. (check-in: c2a84430d3 user: dan tags: trunk)
15:54
Changes to comments and type names in rtree.c. (check-in: 7c4f80ad27 user: dan tags: trunk)
15:38
Fix a documentation typo reported on the mailing list. (check-in: c9fe0a2392 user: drh tags: trunk)
15:27
Add evidence mark comments to source code. Add additional information to the documentation of sqlite3_release_memory(). Fix a minor inefficiency in mem1.c that was discovered while writing requirements tests. (check-in: 53b0c03fd3 user: drh tags: trunk)
15:02
Add the "circle" test geometry callback to test_rtree.c. And tests for the same. (check-in: 169b8ba4be user: dan tags: trunk)
01:09
Remove unreachable branches to facilitate test coverage. (check-in: 86bcb9aab9 user: drh tags: trunk)
2010-08-30
22:15
Provide hints to the btree layer during the creation of transient tables for when it is possible for those tables to use a hash rather than a binary tree. No use is currently made of those hints, though assert() statement verify their accuracy. (check-in: 4fead8e714 user: drh tags: trunk)
18:39
When generating sqlite3.h, append the contents of sqlite3rtree.h. (check-in: fc4d75370b user: dan tags: trunk)
16:15
Fix a problem in pagerfault.test uncovered by the previous change. (check-in: b6719ce328 user: dan tags: trunk)
15:43
Add tests (and associated fixes) to restore coverage of rtree.c. (check-in: b06f4695bd user: dan tags: trunk)
15:02
Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. (check-in: 0900e35348 user: drh tags: trunk)
11:34
Add file sqlite3rtree.h. (check-in: e1d9ffce0f user: dan tags: trunk)
01:17
Updates to comments on the VDBE opcodes. (check-in: 49c05b4e08 user: drh tags: trunk)
2010-08-28
19:09
Fix problem with func3.test. (check-in: aec52959d0 user: dan tags: trunk)
18:58
Add code to allow user-defined searches of r-tree tables. Still largely untested. (check-in: 782ca3b716 user: dan tags: trunk)
2010-08-27
18:44
Make sqlite3_create_function() a special case of sqlite3_create_function_v2() in order reduce the number of code paths and simplify testing. (check-in: 4758d86d57 user: drh tags: trunk)
17:48
Add the sqlite3_create_function_v2() API, a version of create_function that allows a destructor to be specified. (check-in: 9a724dfbe8 user: dan tags: trunk)
17:16
Refactor the implementation of the scratch memory allocator. Add the SQLITE_TESTCTRL_SCRATCHMALLOC interface to facilitate testing. (check-in: a3475ddfbe user: drh tags: trunk)
12:21
Remove unnecessary code from malloc.c. Enhance pcache1.c so that is tries to reuse existing pages, rather than create new pages, when SQLite is under memory pressure. "Memory pressure" means that SQLITE_CONFIG_PAGECACHE memory is nearly exhausted or sqlite3_soft_heap_limit() has been reached. (check-in: 51049479a8 user: drh tags: trunk)
11:19
Further tests for CAST in e_expr.test. (check-in: 9616df8c47 user: dan tags: trunk)
2010-08-26
19:05
Add tests for CAST expressions to e_expr.test. More to come. (check-in: ba6119d1e9 user: dan tags: trunk)
16:46
Add EXTERN macros before entry points in tclsqlite.c. These EXTERN macros were inexplicably removed by [1f680cb37584baa106cee05] a few days ago. (check-in: 8b2cf9d492 user: drh tags: trunk)
14:15
Fix a couple of memory leaks in r-tree that can occur following an OOM condition. (check-in: 1975a27cde user: dan tags: trunk)
11:27
Remove unreachable condition from rtree.c. (check-in: 90f40cd368 user: dan tags: trunk)
07:59
Improve coverage of rtree.c some more. (check-in: bee1959dde user: dan tags: trunk)
05:23
Simplification of changes for SQLITE_OMIT_WAL support in pager.c. (check-in: afb2484c64 user: shaneh tags: trunk)
2010-08-25
20:35
Reinstate the "sqlite" alias for backwards compatibility (but leave it undocumented) but remove the PackageProvide for "sqlite". (check-in: 699cc6b487 user: drh tags: trunk)
19:39
Disable the legacy "sqlite" command in the TCL interface. Provide only the "sqlite3" command. (check-in: 909b3d8862 user: drh tags: trunk)
19:04
Further test coverage improvements for rtree.c. (check-in: 05f6c1aebb user: dan tags: trunk)
17:53
Test cases to improve coverage of rtree module. Fixes associated with the same. (check-in: 865cec04e4 user: dan tags: trunk)
2010-08-24
20:46
Replicate asserts on unixOpen() to winOpen() in os_win.c. (check-in: 40526d8390 user: shaneh tags: trunk)
18:35
Changes to support building with SQLITE_OMIT_WAL. (check-in: d1ed743b6e user: shaneh tags: trunk)
18:07
Change sqlite3_open_v2() to return SQLITE_MISUSE if the combination of bits in the flags parameter is invalid. The documentation says the behavior in this situation is undefined - the documentation is unaltered by this code change. (check-in: 5e8101c512 user: drh tags: trunk)
18:06
Comment enhancements and typo fixes in pcache1.c. (check-in: c2dc39c0c4 user: drh tags: trunk)
16:59
Fixes to allow fts3 tables to be renamed mid-transaction. (check-in: d1c875320a user: dan tags: trunk)
13:11
Add tests to e_expr.test. (check-in: 5c1c694ee1 user: dan tags: trunk)
12:05
Pull the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) and the R-tree segfault bug fix ([7f2f71cc9e3c39093f09231f44]) into the 3.6.23 branch. Increase the version number to 3.6.23.3. (check-in: bcbdecd854 user: drh tags: branch-3.6.23)
02:10
Cherrypick the R-tree invalid shadow-table big fix of [7f2f71cc9e3c39093f09231f44] into the apple-osx 3.6.23 branch. (check-in: 68103d91d4 user: drh tags: apple-osx-3623)
01:59
Cherrypick the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) into the apple-osx 3.6.23 branch. (check-in: 60f16838cc user: drh tags: apple-osx-3623)
01:51
Merge in the R-tree fix from the trunk. (check-in: 02ee0bd5a3 user: drh tags: apple-osx)
01:49
The R-tree module should not assume that its shadow tables are consistent. If a problem is found in a shadow table, return SQLITE_CORRUPT. (check-in: 7f2f71cc9e user: drh tags: trunk)
01:08
Merge changes through release 3.7.2 into the apple-osx branch. (check-in: 415c448dc4 user: drh tags: apple-osx)
00:40
Version 3.7.2 (check-in: 42537b6056 user: drh tags: trunk, release, version-3.7.2)
2010-08-23
18:19
Fixes for the SQLITE_CHECK_PAGES debugging feature. (check-in: 21a1e5961b user: dan tags: trunk)
17:09
Update the version number in preparation for the 3.7.2 release. (check-in: 77889510fa user: drh tags: trunk)
15:41
Fix for ticket [5e10420e8d]. (check-in: 255f1eefa3 user: dan tags: trunk)
15:26
Update the "showdb" debug utility to handle 64K pages and with extra options to decode the freelist structure. (check-in: 1070918e3b user: drh tags: trunk)
01:25
Version 3.7.1 (check-in: 3613b0695a user: drh tags: trunk, release)
2010-08-21
15:51
Add some tests to e_expr.test and pagerfault.test. No code changes. (check-in: 44de3cab9c user: dan tags: trunk)
15:09
Fix the ptrmapPageno() routine so that it works correctly for an input of 1. (check-in: 699a9bf283 user: drh tags: trunk)
2010-08-20
15:32
Do not allow a backup to change the page size if a codec is in use. (check-in: 5523ecd322 user: drh tags: trunk)
12:43
Fix typo in backcompat.test. (check-in: 6a0cbb272c user: dan tags: trunk)
12:34
Merge leaf created by accident. (check-in: 1f680cb375 user: dan tags: trunk)
12:31
Avoid assuming that the user has "." in their path when running multi-process tests. (check-in: daa5d461b9 user: dan tags: trunk)
10:28
Do not attempt run backwards compatibility tests if no historical "testfixture" binaries are available. (check-in: 40e11aabc7 user: drh tags: trunk)
09:53
Disable the MEMSYS2 auxiliary routines if MEMSYS2 is changed to an alternative memory allocator using SQLITE_CONFIG_MALLOC. (check-in: 541dd3b870 user: drh tags: trunk)
09:14
Fix the sqlite3_release_memory() interface so that it does not attempt to free SQLITE_CONFIG_PAGECACHE memory. (check-in: 0426cd62d5 user: drh tags: trunk)
2010-08-19
18:05
Adjust filename globbing in backcompat.test for Windows. (check-in: b0f4796306 user: shaneh tags: trunk)
17:16
Fix backcompat.test so that it works with windows mandatory locking. (check-in: 8d05f66db7 user: dan tags: trunk)
15:48
Add tests for WAL mode to test/backcompat.test. (check-in: 7999910e85 user: dan tags: trunk)
15:12
Merge two leaves. (check-in: b03091fc35 user: dan tags: trunk)
15:11
Modify the code for reading hot-journal files so that it can handle journals generated by versions 3.5.7 and earlier. (check-in: b9170f2903 user: dan tags: trunk)
14:41
Fix typo in TCL stubs support for configure in Makefile.in (check-in: 4c7ad73d22 user: shaneh tags: trunk)
14:22
Remove a NEVER from balance_quick() that can occur in WAL mode on a corrupt database file. (check-in: b273891ab0 user: drh tags: trunk)
11:05
Add new test script backcompat.test, for testing database/journal/wal file compatibility against previous versions. (check-in: 8804f4989d user: dan tags: trunk)
2010-08-18
21:19
Fix two asserts in the btree logic so that they work correctly even for maximum-size index entries for 32K and 64K pages. (check-in: e127192d10 user: drh tags: trunk)
17:16
Updated tests for CLI. Added some basic tests for the .import command. (check-in: d46567e5d7 user: shaneh tags: trunk)
15:25
Disable the SQLITE_MAX_PAGE_SIZE compile time option (it is now always set to 65536). Fix some other problems in test files. (check-in: 56cc883d3a user: dan tags: trunk)
14:54
Fix issue with wal.test on Windows. (check-in: 3497f54ac2 user: shaneh tags: trunk)
02:28
Fix some compiler warnings in the MSVC build. (check-in: 1f5662b7db user: shaneh tags: trunk)
00:24
Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. (check-in: 866e9286ae user: drh tags: apple-osx)
00:09
Updating apple-osx with minor source fixes, database truncate and replace private calls and a bunch of conditionalization for tests running in different environments (check-in: 5e2ee7db0f user: adam tags: apple-osx)
2010-08-17
23:13
Cherrypick the changes for enhancement requests [e090183531fc27474] (use indices on LIKE with no wildcards) and [4711020446da7d93d993] (use nocase index for LIKE even if the column is binary) into the 3.6.23.1 release of the Apple-OSX branch. (check-in: 220cca50da user: drh tags: apple-osx-3623)
19:49
Remove a NEVER() that is actually reachable. (check-in: acb171d4cf user: drh tags: trunk)
19:40
Suppress harmless compiler warning. (check-in: 3f8c068a41 user: drh tags: trunk)
19:34
Return an error when parsing "?NNN" if NNN is so large it cannot be stored as a 32-bit int. (check-in: fc9014be0f user: dan tags: trunk)
18:37
It is no longer possible to reach pagerStress() while in the error state, so put a NEVER() around the error state test of that routine. (check-in: d7ed463496 user: drh tags: trunk)
18:15
If an SQLITE_FULL error occurs during rollback or journal finalization, treat it in the same way as SQLITE_IOERR (i.e. require that the pager internals be completely reset before it is next read from or written to). (check-in: 8ac185236e user: dan tags: trunk)
17:25
Changes to pager for improved testability. (check-in: 61c64b3aeb user: drh tags: trunk)
16:06
Add tests for the BETWEEN operator to e_expr.test. (check-in: ced6a3480f user: dan tags: trunk)
14:52
Invoke sqlite3_log() whenever one or more frames are recovered from a WAL file. (check-in: e05089aaef user: dan tags: trunk)
05:55
Fix some non-ANSI C code in test_demovfs.c. Also change the same file so that attempting to delete a file that does not exist does not return an error. (check-in: 07570ce380 user: dan tags: trunk)
2010-08-16
20:02
Remove an superfluous branch from pager.c. (check-in: 4271a95c82 user: drh tags: trunk)
19:23
Add tests for different page sizes to wal.test. Including 64K pages. (check-in: d95bcc0529 user: dan tags: trunk)
18:26
Add test cases designed to exercise all syntax diagram paths in lang_expr.html (check-in: d4a26bb629 user: dan tags: trunk)
16:31
Fix a typo in a comment in wal.c. No code changes. (check-in: d854a3d41c user: drh tags: trunk)
14:18
Add ALWAYS() macros in wal.c to cover branches that are no longer reachable following the pager refactoring. (check-in: 24f24c927c user: drh tags: trunk)
2010-08-14
21:21
Adjustments for better 64K page size handling. (check-in: faf1974e2d user: drh tags: trunk)
18:32
Add test case to e_expr.test. (check-in: db9539f2ce user: dan tags: trunk)
17:12
Change sqlite3PagerPagecount() to return void, since the return value was always SQLITE_OK and was never used. (check-in: 7dd78eb797 user: drh tags: trunk)
16:02
Minor simplifications to btree.c in support of full-coverage testing. (check-in: 364df6c773 user: drh tags: trunk)
12:42
Tweaks to comments in pager.c. Fix two compiler warnings. (check-in: 68a49f7fe3 user: drh tags: trunk)
12:25
Add test cases to e_expr.test. (check-in: d8bbab78fa user: dan tags: trunk)
05:04
Test that it is possible to drop a trigger while there are active statements belonging to the same connection. (check-in: d4ec61e254 user: dan tags: trunk)
2010-08-13
18:41
Add tests to test file e_expr.test. (check-in: 3fd1059e25 user: dan tags: trunk)
16:38
Do not apply the flattening optimization if the sub-query is DISTINCT. Fix for [e4b8a2ba6e]. (check-in: 497aafd8ed user: dan tags: trunk)
2010-08-12
16:36
If an error occurs in PagerSetPagesize(), set the output variable to the unmodified page-size before returning. (check-in: 02def8f925 user: dan tags: trunk)
11:25
Add coverage tests for pager.c. (check-in: 228c5b16af user: dan tags: trunk)
02:41
Increase the maximum page size from 32k to 64k. (check-in: 45362437d4 user: drh tags: trunk)
2010-08-11
18:56
Improve coverage of pager.c. (check-in: 2fa05d01b6 user: dan tags: trunk)
12:26
Update an r-tree extension test case to account for recent changes to the query planner. Also fix a comment in rtree.c. (check-in: eaaca669a4 user: dan tags: trunk)
11:59
Use sqlite3DbFree() instead of sqlite3_free() to free any error message reported by the parser layer while attempting to parse a CREATE TABLE statement passed to sqlite3_declare_vtab(). (check-in: 7c674aaba5 user: dan tags: trunk)
11:35
Fixes to tcl test files so that they work in auto-vacuum mode. (check-in: ea9eaf7480 user: dan tags: trunk)
06:14
Fix memory allocation in proxy locking so that it works with SQLITE_MEMDEBUG. (check-in: f854cbe063 user: drh tags: trunk)
06:04
Merge experimental changes into trunk. (check-in: aa092ac928 user: dan tags: trunk)
2010-08-10
15:46
Fix a bug in pager.c causing it to omit the xSync() call required following a hot-journal rollback. (Closed-Leaf check-in: 42ba43ac69 user: dan tags: experimental)
09:58
Add variable pager.dbHintSize, used to limit the number of calls made to the xFileControl(FCNTL_SIZE_HINT) method. (check-in: eb3ac895bd user: dan tags: experimental)
07:12
Changes to debugging code in mutex_unix.c and mutex_w32.c to make an assert() statement threadsafe. (check-in: e82e32bd43 user: dan tags: trunk)
2010-08-09
19:17
Modify some comments in pager.c. (check-in: 5662da6d4f user: dan tags: experimental)
16:52
Merge latest trunk changes with experimental branch. (check-in: aecbd89032 user: dan tags: experimental)
16:12
Fix a memory leak in test_journal.c causing tests to fail. (check-in: f229487ccc user: dan tags: experimental)
15:44
Fix typos in comments. No functional changes to the code. (check-in: 9cebaf2dca user: drh tags: trunk)
14:47
Change to tcl test infrastructure so that --malloctrace=1 works when sizeof(int)!=sizeof(void*). (check-in: c3e771b3cf user: dan tags: experimental)
14:26
Fix two comment typos that were reported on the mailing list. (check-in: 88bf901627 user: drh tags: trunk)
07:51
Fix a problem causing the return code of an xSync call to be ignored in wal.c. (check-in: f1b2b5f9c3 user: dan tags: experimental)
07:07
In WAL mode, ignore any error returned by an xFileControl(FCNTL_SIZE_HINT) call. This matches the behaviour in rollback mode. (check-in: 158a309737 user: dan tags: experimental)
2010-08-07
16:17
Fix minor problems and update comments in pager.c. (check-in: 92e456374b user: dan tags: experimental)
11:46
Merge in all changes up to the 3.7.0.1 release. (check-in: f88c6367d2 user: drh tags: apple-osx)
09:31
Fix a problem wherein changing the journal-mode immediately after leaving exclusive-locking mode could lead to the database being unlocked without clearing the changeCountDone flag. (check-in: 531abc8085 user: dan tags: experimental)
05:15
Add test case 'cgt_pager_1', intended for use with callgrind to detect performance regression in the pager module, to threadtest3.c. (check-in: b5d46f1ea0 user: dan tags: experimental)
2010-08-06
19:00
Remove all vestiges of ctype.h from FTS3. This addresses ticket [991789d9f3136a] among other bug reports. (check-in: b8b465ed2c user: drh tags: trunk)
17:18
Further enhancements to comments in pager.c. (check-in: 876162c7e0 user: dan tags: experimental)
14:37
Fix some problems with running test scripts with the inmemory_journal permutation. (check-in: 7bd8ba084e user: dan tags: experimental)
13:53
Merge trunk changes into experimental branch. (check-in: aef6698c73 user: dan tags: experimental)
13:50
Do not run some tests in notify3.test with the inmemory_journal permutation. They do not pass as the tests assume that the database schema is not loaded until the first invocation of [db eval]. This is not true with the inmemory_journal permutation. (check-in: 698fba826e user: dan tags: trunk)
12:00
Further updates to comments in pager.c. (check-in: 5f4c17a33f user: dan tags: experimental)
09:43
Modify test_journal.c to work with pre-allocated databases. (check-in: 4894a5d210 user: dan tags: experimental)
06:54
Fix a bug to do with deleting the journal file when exiting exclusive-locking mode. (check-in: 6217b607f0 user: dan tags: experimental)
02:10
Change two automatic array variables into static constant arrays. Update and reformat some comments for cleaner presentation. (check-in: a7a15547cc user: drh tags: trunk)
2010-08-05
18:53
Add comments describing UNKNOWN_LOCK to pager.c. Improve some other comments in the same file. (check-in: 54eff6de9d user: dan tags: experimental)
16:22
Merge trunk changes with experimental branch. (check-in: acd26b8b74 user: dan tags: experimental)
16:08
Catch an error code that was not being propagated back to the caller. (check-in: 800f496929 user: dan tags: experimental)
15:30
Fixes for error handling with temp databases. And for errors that occur within OS locking primitives. (check-in: f99a902f9b user: dan tags: experimental)
11:56
Make the size of a Bitvec object 512 bytes on all platforms, instead of having the size depend on the size of a pointer. This makes testing easier. (check-in: ca479f3de2 user: drh tags: trunk)
03:21
Do not read the database file size on a SAVEPOINT rollback any more since after checkin [65b8636ac6e5] the in-header-size field is always valid. (check-in: fbe70e1106 user: drh tags: trunk)
02:52
Fix the query planner so that when it has a choice of full-scan tables to move to the outer loop, it chooses the one that is likely to give the fewest output rows. Ticket [13f033c865f878]. (check-in: 309bbedf96 user: drh tags: trunk)
2010-08-04
21:17
If the outer loop of a join must be a full table scan, make sure that an incomplete ANALYZE does not trick the planner into use a table that might be indexable in an inner loop. Ticket [13f033c865f878] (check-in: e7a714b52c user: drh tags: trunk)
19:14
Fix some problems with error recovery introduced while reworking pager state. (check-in: 77eaab6f77 user: dan tags: experimental)
12:31
Version 3.7.0.1 (Leaf check-in: 042a1abb03 user: drh tags: release, branch-3.7.0)
12:19
Update the version number to 3.7.0.1. (check-in: 5074b85967 user: drh tags: branch-3.7.0)
12:13
Backport fix [267492d3a7eff7b] for the performance regression caused by automatic indexing and reported by ticket [8011086c85c6c4040]. (check-in: 3f367fe00e user: drh tags: branch-3.7.0)
11:59
Backport the [65b8636ac6e5] fix for ticket [51ae9cad317a1] to version 3.7.0. (check-in: dec70c63d0 user: drh tags: branch-3.7.0)
11:34
When opening a write-transaction on a database file that has been appended to or truncated by a pre-3.7.0 client, update the database-size field in the database header. Fix for [51ae9cad31]. (check-in: 65b8636ac6 user: dan tags: trunk)
2010-08-03
18:29
Merge trunk changes into experimental branch. (check-in: 15368a9f85 user: dan tags: experimental)
18:18
Set the Pager.eState variable to PAGER_ERROR whenever the pager enters the error state. (check-in: 4d384761d2 user: dan tags: experimental)
18:06
Fix disabled implementation-mark comments in func.c. (check-in: 57c0960038 user: drh tags: trunk)
15:57
Add comments to clarify the purpose of the pager "error state". (check-in: fde4c59782 user: dan tags: experimental)
13:08
Fix the REPLACE conflict resolution so that it falls back to ABORT when a CHECK constraint fails. Ticket [c38baa3d969eab794]. (check-in: 4e157b7747 user: drh tags: trunk)
12:48
Add state diagram to comments in experimental version of pager.c. (check-in: 16dcf5a6d3 user: dan tags: experimental)
06:42
Incremental checkin on pager state refactoring. (check-in: 0a636798bd user: dan tags: experimental)
2010-08-02
14:32
Experimental refactoring of the Pager object state. This version is surely buggy. (check-in: 03a240514a user: dan tags: experimental)
10:59
Modify wal2.test to disable tests requiring TCL 8.5 if the test harness is compiled using TCL 8.4. (check-in: 016486c7d5 user: drh tags: trunk)
10:47
In shared-cache mode, do not allow one connection to checkpoint a database while a second connection is reading or writing the same shared-cache. (check-in: e75b52d156 user: dan tags: trunk)
2010-08-01
22:41
Fix a typo in an error message of the TCL interface. (check-in: 8eadd7b87b user: drh tags: trunk)
2010-07-30
18:40
If a database becomes corrupted such that an index is out of sync with its table, make sure the corruption is detected and reported back. Do not assume that indices always contain rowids for valid table rows. (check-in: 83395a3d24 user: drh tags: trunk)
16:54
Fix typos in comments. No code or logic changes. (check-in: 15c294ca05 user: drh tags: trunk)
16:44
Remove a test from sqlite3PagerCommitPhaseOne which is now always true after the multi-file transaction fix. (check-in: 6758f6a8ec user: drh tags: trunk)
15:43
Remove variable Pager.needSync, which was almost completely unused. (check-in: 347f22a5b7 user: dan tags: experimental)
14:39
Merge trunk changes into experimental again. (check-in: 87e0f4e184 user: dan tags: experimental)
11:31
Changes to the comments describing the Pager.setMaster variable in pager.c. Add an assert() statement to verify that two master journal pointers are not written to a single journal file. (check-in: ad78ccacb0 user: dan tags: trunk)
11:20
Cherry-pick the multi-file transaction fix for ticket [f3e5abed55] out of the experimental branch. (check-in: 40f7f0a583 user: drh tags: trunk)
10:09
Add the test cases for bug [f3e5abed55]. (check-in: cbbaf8e67a user: dan tags: experimental)
10:02
Make sure a connection has an exclusive lock on all database files involved in a multi-file transaction before writing the master-journal pointer into any journal files. Fix for [f3e5abed55]. (check-in: 50c0f2202d user: dan tags: experimental)
07:26
Merge further trunk changes into experimental branch. (check-in: fb847d7040 user: dan tags: experimental)
05:06
Add tests to check that the ICU regexp() function can only be called with exactly two arguments. (check-in: 451d965742 user: dan tags: trunk)
00:31
Updates to the README.txt file for ICU. (check-in: d37443d333 user: drh tags: trunk)
2010-07-29
10:13
Unconditionally include the pTmpSpace size in the estimate of the pager memory used. (check-in: 4b97f8640e user: drh tags: trunk)
10:07
Change the profile timer units back to nanoseconds and update the sqlite3_profile() documentation. Ticket [c43940c49b74c70a69] (check-in: 7783b98a93 user: drh tags: trunk)
01:50
Correct handling of compound foreign key constraints that include the integer primary key as one of the columns. Ticket [ce7c133ea6cc9ccdc1] (check-in: 53902f7d4a user: drh tags: trunk)
2010-07-28
19:17
Get SQLITE_OMIT_VIRTUALTABLE working again after being broken by recent changes. (check-in: 33b1e862ff user: drh tags: trunk)
18:51
Fix the dbstatus.test script so that it works correctly on 64-bit machines. (check-in: a3401d9ee5 user: drh tags: trunk)
18:35
Merge trunk changes into experimental branch. (check-in: aa81900153 user: dan tags: experimental)
17:36
Improve the accuracy of the Pager heap usage estimate. (check-in: ae89777e7f user: drh tags: trunk)
17:16
Adjust the shell test script "shell4.test" to account for changes in the ".stat on" display format from the previous checkin. (check-in: 2f2fa7dd80 user: drh tags: trunk)
17:01
Record the pcache allocation size statistics even for pcache overflow allocations. Adjust the wording on one of the stat output lines in the shell. (check-in: f9adf66ad5 user: drh tags: trunk)
16:05
Modify CLI to optionally display "stats". (check-in: 419ce0ed89 user: shaneh tags: trunk)
15:52
Lookaside memory is not used to store schemas. Change the SQLITE_DBSATUS_SCHEMA_USED documentation to reflect this fact. (check-in: 07abfd5268 user: drh tags: trunk)
15:49
Add documentation for the SQLITE_STATUS_MALLOC_COUNT parameter to sqlite3_status(). (check-in: dbfbdb60c0 user: drh tags: trunk)
15:10
Fix errors in wal3.test caused by recent modifications. (check-in: 0714aeccd8 user: dan tags: experimental)
14:26
Support FCNTL_CHUNK_SIZE on windows too. (check-in: a038688c99 user: dan tags: experimental)
02:53
Do not allow automatic indices for the RHS of IN expressions which are not correlated subqueries. Ticket [8011086c85c6c404014c9] (check-in: 267492d3a7 user: drh tags: trunk)
2010-07-27
18:36
Merge trunk changes into experimental branch. (check-in: 621824092d user: dan tags: experimental)
18:34
Add experimental unix-only file-control to grow and truncate the database file by a configurable chunk size. (check-in: 7cf0e851d4 user: dan tags: experimental)
16:42
Update the makefiles to prefer TCL version 8.5 instead of 8.4. (check-in: 8118de2af3 user: drh tags: trunk)
2010-07-26
19:09
Fix a bug in the SQLITE_STATUS_MALLOC_COUNT counter. Add an ALWAYS() around a condition in the SQLITE_DBSTATUS_SCHEMA_USED logic that is always true. (check-in: 6df081adbf user: drh tags: trunk)
18:43
Add the SQLITE_STATUS_MALLOC_COUNT option for sqlite3_status(). (check-in: 8f8e442b3a user: drh tags: trunk)
16:40
Increase the version number to 3.7.1 due to the API enhancement of the previous check-in. (check-in: 1d7571e4be user: drh tags: trunk)
16:24
Add support for SQLITE_DBSTATUS_SCHEMA_USED and SQLITE_DBSTATUS_STMT_USED to the trunk. (check-in: 008368b2bd user: drh tags: trunk)
15:57
When calculating schema memory, use the actual allocated size of hash elements, not sizeof(HashElem). Also fix a bug in dbstatus.test. (Closed-Leaf check-in: e327ef37fa user: dan tags: experimental)
14:47
Add virtual table test cases to dbstatus.test. (check-in: 72b84d066a user: dan tags: experimental)
14:20
Further fixes to the P4_MEM size measurement logic. (check-in: 934cda2987 user: drh tags: experimental)
13:58
Fix an issue with P4_MEM and the schema size measurement logic. Also fix a compiler warning. (check-in: 8166f33885 user: drh tags: experimental)
12:38
Make sure sqlite3_free() is not called for P4_MPRINTF during a size measurement. (check-in: 56f11f8823 user: drh tags: experimental)
12:36
Remove an assert() that uses a variable removed earlier. (check-in: c04907e698 user: dan tags: experimental)
12:05
Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. (check-in: 00e55102a8 user: dan tags: experimental)
11:59
Update comments to better documentation the new memory measurement functions. (check-in: 620bad0357 user: drh tags: experimental)
11:07
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: 629e38a8c9 user: drh tags: experimental)
2010-07-25
02:39
Fixes to prior checkins so that they compile and run even if SQLITE_MEMDEBUG is not defined. (Closed-Leaf check-in: 548bf3f7d7 user: drh tags: malloc-enhancement)
02:12
Further examples of using automatic deallocation to replace "delete" methods. (check-in: da2f62c502 user: drh tags: malloc-enhancement)
2010-07-24
19:08
Additional malloc sanity changes. Use sqlite3MemLink() on Index.zColAff and Table.zColAff as a proof of concept. (check-in: e5ecb15984 user: drh tags: malloc-enhancement)
18:25
Add infrastructure to support a hierarchy of memory allocations with automatic deallocation of substructure. (check-in: 48ef221c28 user: drh tags: malloc-enhancement)
16:34
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: ac1f37a647 user: drh tags: malloc-enhancement)
11:28
Experimental code to measure memory consumed by database schemas and prepared statements. (check-in: 9aa30342f4 user: dan tags: experimental)
2010-07-23
22:26
Fix a typo in the OS/2 vfs code. (check-in: a6bb2108bf user: drh tags: trunk)
17:37
Merge two leaves. (check-in: 54e5886d84 user: dan tags: trunk)
17:32
Strenghten an assert() in malloc.c that helps to ensure that allocated memory is freed by the appropriate routine. (check-in: 80db61acca user: drh tags: trunk)
17:06
Remove additional traces (mostly in comments) of the Table.dbMem field. (check-in: 5c58f44aeb user: drh tags: trunk)
15:55
Add a test case to shared.test. No changes to production code. (check-in: bfb0dd3c2f user: dan tags: trunk)
15:41
Remove the Table.dbMem variable, as it is no longer being used for its original purpose. (check-in: 6eddc6e601 user: dan tags: trunk)
08:31
Remove the unused Schema.db variable. (check-in: 430be657be user: dan tags: trunk)
2010-07-22
22:40
Add evidence marks to the where.c source file. Comment only - no code changes. (check-in: f3f9e8e5bb user: drh tags: trunk)
17:55
Make the sqlite3_db_status() routine threadsafe. (check-in: 241f7bd190 user: dan tags: trunk)
17:49
Enhance the LIKE/GLOB query optimization so that it works as long as there is an index with the appropriate collating sequence and even if the default collating sequence of the column is different. Ticket [4711020446da7d93d99]. (check-in: 9f932655f9 user: drh tags: trunk)
15:44
Add test/threadtest3.c, containing multi-thread tests implemented in C. (check-in: aad88cf54e user: dan tags: trunk)
12:33
Try to optimize LIKE and GLOB operators when RHS contains no wildcard. Ticket [e090183531fc274747] (check-in: 613a87d62f user: drh tags: trunk)
11:40
Tweaks to the virtual table documentation contained in comments of sqlite3.h. No changes to actual code. (check-in: f5866d4723 user: drh tags: trunk)
2010-07-21
16:16
Version 3.7.0 (check-in: b36b105eab user: drh tags: trunk, release)
2010-07-20
20:23
Added fix to os_win.c for race conditions from os_unix.c; added saving of errno in two places. (check-in: 13ed106c8c user: shaneh tags: trunk)
18:59
Fix a race condition in os_unix.c that may occur when one thread is opening a connection to a shared-memory block and another is either closing or locking the same shared-memory. (check-in: 3b7330c19a user: dan tags: trunk)
2010-07-19
15:01
Update the CLI test scripts for version 3.7.0. (check-in: 92fe70dadd user: drh tags: trunk)
12:44
Use exit(255) instead of abort() in the tcl [sqlite_abort] test command. This stops testfixture from creating dozens of core files each time tests are run. (check-in: aec9e13148 user: dan tags: trunk)
12:05
Changes to stat.test so that it works with file-format 4. (check-in: f87bb28361 user: dan tags: trunk)
11:16
Re-introduce the prefix-search optimization of [feef1b15d6], which was lost in a reorganization of FTS3 code. (check-in: d692434b49 user: dan tags: trunk)
05:27
Enable previously failing tests in e_expr.test that pass following [3e5975aa3b]. (check-in: 3d59c54a39 user: dan tags: trunk)
02:30
Fix a parser bug that was causing the relative precedence of LIKE and < operators to be incorrect. (check-in: 3e5975aa3b user: drh tags: trunk)
01:52
Improvements to the formatting of parse.out file from Lemon. Add the -r option to Lemon to disable the state sorting, making debugging easier. (check-in: a2eaf8294f user: drh tags: trunk)
2010-07-18
11:35
Add the -p option to lemon to cause conflicts resolved by precedence rules to appear in the parse.out file. (check-in: fb6a59b0a9 user: drh tags: trunk)
2010-07-17
18:44
Add new test file e_expr.test. (check-in: cbcf8abbb2 user: dan tags: trunk)
09:27
Do not run journal3.test with the inmemory_journal permutation. (check-in: e1d228e992 user: dan tags: trunk)
2010-07-16
11:10
Fix a problem with wal4.test caused by changes in the previous checkin. (check-in: 1218d3703a user: dan tags: trunk)
10:39
Fix a test script bug uncovered by [a121cd80c5] that was causing shared_err.test to fail. (check-in: d7b63a4c9f user: dan tags: trunk)
2010-07-15
18:38
Previous check-in [534aab837e] accidently reverted some changes from [a121cd80c5]. This check-in restores those changes. (check-in: abff795f38 user: drh tags: trunk)
18:32
Optionally support shared-memory in /dev/shm or other tmpfs directory using an unsupported compile-time option. (check-in: 534aab837e user: drh tags: trunk)
18:20
Changes to wal.c so that SQLite can read even if the WAL file is opened read-only, provided the wal-index (shm file) is opened read/write. (check-in: 932d19da73 user: dan tags: trunk)
17:54
Handle the case where xShmMap returns SQLITE_BUSY. (check-in: 75f5354876 user: dan tags: trunk)
14:59
When creating a journal file on unix, attempt to create it with the same permissions as the associated database file. (check-in: a121cd80c5 user: dan tags: trunk)
11:14
Change a comment inside a block of code in parse.y from C++ to C style. (check-in: dea7d33b2d user: dan tags: trunk)
2010-07-14
20:51
Fix a typo in a comment in os_unix.c. (check-in: e1e7312580 user: drh tags: trunk)
20:23
The expression list on the RHS of an IN operator can no longer be empty because an empty expression list is now optimized out by changes in check-in [c288ac644d0bf]. Therefore add ALWAYS() macros around tests for the expression list being non-empty. (check-in: fd130ae56c user: drh tags: trunk)
19:31
Additional test cases and evidence marks for the empty RHS bug on the IN operator - ticket [80e031a00f45dca877] (check-in: 6851c517ac user: drh tags: trunk)
18:24
Make the result of an IN or NOT IN expression with an empty set on the right-hand side always either false or true, respectively, even if the left-hand side is NULL. Ticket [80e031a00f45dc] (check-in: c288ac644d user: drh tags: trunk)
18:10
Fix an assert() failure in wal2.test caused by messing with the contents of shared memory. (check-in: 9f452514d9 user: dan tags: trunk)
16:37
Test the libraries response to read-only or unreadable database, WAL and wal-index files. If a WAL file cannot be opened in read/write mode, return SQLITE_CANTOPEN to the caller. (check-in: 45bb84c628 user: dan tags: trunk)
14:48
On unix, try to create the *-wal and *-shm files with the same permissions as the associated database file. (check-in: e5d180eed2 user: dan tags: trunk)
08:20
Add tests to pagerfault.test. (check-in: b092f2a74b user: dan tags: trunk)
07:06
Test that a corrupted WAL hash-table does not put the library into an infinite loop. (check-in: c73886ed74 user: dan tags: trunk)
06:20
Fix a typo in the IS_BIG_INT macro used by coverage test instrumentation. (check-in: 5314ca3928 user: dan tags: trunk)
01:45
Fix the unix driver to return an I/O error if unlink fails for any reason other than the file not existing in the first place. (check-in: 90d73c66bf user: drh tags: trunk)
00:22
Remove the xShmOpen method from the VFS. Shared-memory is opened automatically by a call to xShmMap. Rename the xShmClose method to xShmUnmap. (check-in: 2b68e50268 user: drh tags: trunk)
00:14
Change the name of the xShmClose VFS method to xShmUnmap, everywhere. (Closed-Leaf check-in: c2d27cf51d user: drh tags: experimental)
2010-07-13
23:41
Tweaks to the new shared-memory interface design - mostly comment changes. (check-in: 6336de7aa9 user: drh tags: experimental)
18:45
Fix a typo in a comment in sqlite.h.in. (check-in: 4a6c4b6605 user: dan tags: experimental)
18:44
Changes so that the xShmOpen VFS method is no longer required. Its job can be done by the first call to xShmMap. Rename xShmClose to xShmUnmap. (check-in: f4780bde62 user: dan tags: experimental)
14:48
Improved documentation for the SQLITE_ACCESS_* constants that are used with the xAccess() method of the VFS. (check-in: 3d4bb65f10 user: drh tags: experimental)
14:33
Add proposed interface change to sqlite.h.in. This commit breaks the build. (check-in: 52577bb5e7 user: dan tags: experimental)
14:22
Fixes to the pcache10 and pcache90 permutations. (check-in: 597d40fa52 user: dan tags: trunk)
07:38
Fix problems with running the async.test script. (check-in: 05ac254865 user: dan tags: trunk)
2010-07-12
20:46
Updates to comments and code organization to reflect changes in os_unix.c; Updated winShmLock() with logic changes from unixShmLock(); Modified IO error returns in winShmMap() to match those in unixShmMap(); (check-in: b73fe2754b user: shaneh tags: trunk)
18:12
Fix test_stat.c so that it does not cause compilation errors if SQLITE_OMIT_VIRTUALTABLE is defined. (check-in: bf4fc08887 user: dan tags: trunk)
16:47
Fix makefiles so that they build sqlite3_analyzer again. Tweaks to comments in test_stat.c. Fix tclsqlite.c to build the sqlite3_analyzer again. (check-in: e6cd15451d user: drh tags: trunk)
12:22
In the async-IO module, do not increment the open file-counter until after an "open file" event has been added to the event queue. Otherwise, an OOM may cause the system to increment the counter even though no file was successfully opened. (check-in: 15a190dc57 user: dan tags: trunk)
08:39
Changes so that the space-analyzer script works with 3.7.0. (check-in: 86159cb3f0 user: dan tags: trunk)
2010-07-09
19:32
Exclude a few more FTS modules from the "in memory" permutation test suite. (check-in: 4e9d69cd5a user: shaneh tags: trunk)
18:43
Exclude fts3cov.test from the "in memory" permutation test suite to avoid a false positive. (check-in: 6af6794cac user: shaneh tags: trunk)
12:57
Fix warning under MSVC. (check-in: 0c32c4bbdd 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: 40eaada7ec 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: bcdddba4f0 user: drh tags: trunk)
18:32
Fix test case numbering in backup_malloc.test and issue when running under Windows. (check-in: aef2643852 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: e396184cd3 user: drh tags: trunk)
16:50
Merged experimental crashsql() into trunk. (check-in: 01b575ff1a user: shaneh tags: trunk)
16:30
Changes to get crashsql() working on Windows. (Closed-Leaf check-in: 8a5811ea80 user: shaneh tags: experimental)
16:22
Fix warning in test fixture code. (check-in: 0bfcf3bcd7 user: shaneh tags: trunk)
16:22
Fix test case number issue in walcrash.test. (check-in: 6a46e64168 user: shaneh tags: trunk)
14:59
Fix to lock5.test so that it runs with the inmemory_journal permutation on osx. (check-in: 948bb54568 user: dan tags: trunk)
13:33
Fixed a few tests in pagerfault.test so they work correctly on Windows. (check-in: ffbdd954a0 user: shaneh tags: trunk)
09:44
Changes to test scripts so that the "inmemory_journal" permutation works with [ef126e775a]. (check-in: f553c8ed04 user: dan tags: trunk)
06:22
Add tests to walmode.test. (check-in: 5aa2bdb502 user: dan tags: trunk)
03:13
Changes to os_win.c to have it simulate IO errors like os_unix.c. (check-in: 0d53da9451 user: shaneh tags: trunk)
2010-07-07
21:06
Make the initial salt values in the WAL header random values, not zero. (check-in: baa5eddd05 user: drh tags: trunk)
20:38
Add the write-ahead log viewer/debugger tool to the tools/ folder. (check-in: 0e4bd44682 user: drh tags: trunk)
20:00
Fix issue in mallocI test script where db handle not released. (check-in: dd59cea6c8 user: shaneh tags: trunk)
18:38
Add further test cases to savepoint.test. (check-in: f825205dbf user: dan tags: trunk)
17:53
When rolling back a savepoint, reset the changeCountDone flag. (check-in: fb62f4e3a7 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: 55d3d39f1c user: shaneh tags: trunk)
16:49
Fix some MSVC compiler warnings in the ASYNC extension. (check-in: b951c8675d user: shaneh tags: trunk)
16:23
Merge together another accidental fork. (check-in: c41f04edb2 user: dan tags: trunk)
16:20
Fix test numbering issue in nan.test. (check-in: 5bb1330fef 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: e92de834a3 user: dan tags: trunk)
15:41
Close the file handle before returning. TCL test script issue only. (check-in: f4076d8567 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: 8eefc28726 user: shaneh tags: trunk)
14:40
Remove two more testcase() macros that require 4GiB WAL files to hit. (check-in: 16e18f2706 user: drh tags: trunk)
14:35
Remove a testcase() macro that would require a 4GiB WAL to reach. (check-in: 15f9c2713b user: drh tags: trunk)
14:33
Fix a compiler warning in PRAGMA journal_mode. (check-in: d94269e60d 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: b317937943 user: drh tags: trunk)
14:00
Merge together the accident fork. (check-in: cdcf08cb18 user: drh tags: trunk)
13:58
Fix minor issue in xAccess() method for Windows. (check-in: 4bfd46f1db 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: ef126e775a user: dan tags: trunk)
13:43
Add testcase macros to ensure that large-file cases are tested in WAL. (check-in: 8156b57ac3 user: drh tags: trunk)
11:43
Run some fts3 tests as part of the "wal" permutation. (check-in: 8657455a11 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: d9e3287900 user: dan tags: trunk)
09:48
Fix a problem with writing to databases larger than 2^32 bytes with WAL mode. (check-in: b956ddca75 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: 21a2db908b user: drh tags: trunk)
2010-07-06
20:37
Minor changes to Makefile.in to bring it more inline with main.mk. (check-in: 5621862b0e user: shaneh tags: trunk)
20:34
Changes to pager1.test to support Windows. (check-in: fce689ebe6 user: shaneh tags: trunk)
20:33
Modified the xWrite() method on Windows to differentiate between IO and disk full error returns. (check-in: ca4b7ffbd4 user: shaneh tags: trunk)
11:26
Do not do the *-closeallfiles test for notify2.test. It uses multiple threads. (check-in: fb09152db8 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: b3399b4078 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: d1fe8ab4a1 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: c272196115 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: ec35f25403 user: drh tags: trunk)
19:13
Simplify the previous commit by removing the pagerCheckForOrDeleteWAL() wrapper. (check-in: a1324d125e 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: 3053a4ad15 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: c0d124da88 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: ea80b21c88 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: 684eae6623 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: a40a6e7df1 user: dan tags: trunk)
05:31
Fix typos in permutations.test. (check-in: b6600ecb4e user: dan tags: trunk)
2010-07-03
19:08
Do not run the memsubsys1.test script under the memsubsys1 permutation. (check-in: 3a1a8c77a5 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: 51ec0e5432 user: drh tags: trunk)
16:37
Further changes to test scripts so that the "inmemory_journal" permutation works. (check-in: 50f2f7dfd6 user: dan tags: trunk)
13:59
Fix a bug in the permutations.test script. (check-in: 3b20ad03be 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: 622378dbe3 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: 78fc35ff4b user: dan tags: mistake)
12:31
Cherry-pick the correct changes out of the recent "mistake" branch while omitting the bugs. (check-in: 48bf309391 user: drh tags: trunk)
12:26
Remove dead code from the pager. (check-in: 7cbe175a69 user: drh tags: mistake)
12:00
Print the SQLite source_id() string when running speed tests. (check-in: 6d7640edcd 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: 62a1010177 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: 0fd8092436 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: 4f62dbcfc9 user: dan tags: mistake)
01:44
Fix a buffer overrun in the where.c. Problem detected by valgrind. (check-in: 15bb623306 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: 33b6f069d8 user: shaneh tags: mistake)
19:36
Omit the OP_JournalMode opcode from the VDBE when SQLITE_OMIT_PRAGMA is defined. (check-in: 565ff65c61 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: 336ce7d297 user: dan tags: mistake)
18:58
Do not run the tests in notify3.test unless the unlock-notify API is available. (check-in: 0d7fd6fe9d 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: 452ccaa908 user: drh tags: mistake)
18:15
Fix a couple more compiler warnings under MSVC. (check-in: 26bc27e3f4 user: shaneh tags: mistake)
17:10
Fix compiler warnings in the proxy locking code. (check-in: 26c7689cfe user: drh tags: mistake)
17:07
Remove a couple of C++ style comments from pager.c. (check-in: 4f12e8ebde user: drh tags: mistake)
17:05
Fix some warnings when compiling under MSVC. (check-in: 7083387739 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: dafb3577a2 user: dan tags: trunk)
15:35
Remove an unused call to sqlite3PageBegin() from pager_write(). Replace it with an assert(). (check-in: 01c1278263 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: c6714b0dbd user: dan tags: trunk)
11:27
Additional test cases to cover branches in pager.c. (check-in: eddfb2b406 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: 6ae7617298 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: 95c69dfbdd user: drh tags: trunk)
19:01
Add tests to pager1.test and pagerfault.test. (check-in: c6e7595092 user: dan tags: trunk)
15:09
Add pager test cases. Change a condition in pager.c to NEVER(). (check-in: a8f6341d3b user: dan tags: trunk)
2010-06-30
10:36
Add further test cases. Fix an assert() in pager.c. (check-in: 8e65c0e3da 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: cdf2c5c2dd 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: 5e19bc360e user: dan tags: trunk)
2010-06-29
10:30
Add tests to pager1.test and pagerfault.test. (check-in: 008513ee61 user: dan tags: trunk)
2010-06-28
19:04
Add extra pager tests. (check-in: 6b7e419ddc user: dan tags: trunk)
11:23
Fix some errors when compiling with SQLITE_OMIT_WAL. (check-in: 3b68cb9c65 user: dan tags: trunk)
11:06
Remove debugging code from test script. (check-in: a85ae33246 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: 4932f22848 user: dan tags: trunk)
2010-06-26
22:16
Make walIndexTryHdr() a private function. Fix an issue with SQLITE_MUTEX_NOOP. (check-in: ec65bbd06b user: drh tags: trunk)
21:34
Suppress various compiler warnings. (check-in: e82d008eaf 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: f149b498b6 user: drh tags: trunk)
20:00
Suppress a couple uninitialized variable warnings. (check-in: 29571e228c user: drh tags: trunk)
19:03
Add test file tkt-d11f09d36e.test. (check-in: 6e469b63fa user: dan tags: trunk)
19:02
Remove a NEVER() in pager that can in fact be reached in obscure failure cases. (check-in: 42b8bd1c70 user: drh tags: trunk)
17:15
Fix a case where the doNotSyncSpill flag may remain permanently set following an IO error. (check-in: 56c7d111bf 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: 2eaf5ee0d9 user: dan tags: trunk)
2010-06-25
19:09
Further test cases for pager1.test and pagerfault.test. (check-in: bfd563c471 user: dan tags: trunk)
16:34
Reduce the average (but not maximum) size of the allocations made as part of a checkpoint. (check-in: 4a7fd91b7a 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: 29887487ed 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: af471ed79f 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: 5995cb1508 user: drh tags: trunk)
11:35
Modify the merge-sort in wal.c so that it does not use recursion. (check-in: daea6c054c user: dan tags: trunk)
2010-06-24
19:16
Add test cases to pager1.test and pagerfault.test. (check-in: 4941e437d2 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: 7d83fbae98 user: drh tags: trunk)
17:37
Modify ctime.test to work with SQLITE_THREADSAFE=2. (check-in: c6db3b3031 user: dan tags: trunk)
14:52
Disable memory-pressure induced cache spill during savepoint rollback. (check-in: a55eb4c3e9 user: drh tags: trunk)
13:24
Add a coverage test to pagerfault.test. (check-in: b58db67e97 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: 7aac9ad6dd 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: 2e6a462ceb user: drh tags: trunk)
2010-06-23
22:00
Fix and/or improve comments in wal.c. No code changes. (check-in: ee9991be08 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: 3e9680c4c1 user: dan tags: trunk)
17:59
Include the SOURCE_ID value in the log messages output for corruption, misuse, and CANTOPEN errors. (check-in: 1727a81fed 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: a6dc0df304 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: 8d0f8a7f70 user: dan tags: trunk)
15:18
Fix the xCurrentTimeInt64 interface on windows. It was off by a factor of 10. (check-in: 51ef43b9f7 user: drh tags: trunk)
15:04
Simplifications to the pager_delmaster() implementation. (check-in: 8bfbdec647 user: drh tags: trunk)
2010-06-22
21:15
Disable code used only by the codec when the codec is not deployed. (check-in: 2c90276e34 user: drh tags: trunk)
15:18
Add codec support to wal mode. (check-in: 393741eba3 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: 4775b8f9a9 user: drh tags: trunk)
13:46
Some changes to test scripts related to codec enabled versions of sqlite. (check-in: 85dd51a75c user: dan tags: trunk)
11:10
Fix problem with handling of -vfs option in tcl interface. (check-in: 8f98e8b5a5 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: 82b38fca1a 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: f820b815c9 user: drh tags: trunk)
18:29
Add test cases to pager1.test and pager2.test. (check-in: cc9ddae6d7 user: dan tags: trunk)
12:47
Merge the experimental UNDELETABLE_WHEN_OPEN optimization into the trunk. (check-in: ee0acef1fa user: drh tags: trunk)
12:34
Change things so that journal2.test works with ENABLE_ATOMIC_WRITE. (Closed-Leaf check-in: a64d96db09 user: dan tags: experimental)
07:45
Add further pager tests. (check-in: 4104b175a8 user: dan tags: experimental)
06:00
Merge latest trunk change. (check-in: f6d26e07b7 user: dan tags: experimental)
05:40
Fix jrnlmode2.test so that it works on systems where UNDELETABLE_WHEN_OPEN is defined. (check-in: 59be370e52 user: dan tags: experimental)
2010-06-19
23:53
Fix an uninitialized variable in os_unix.c. (check-in: 822a0283c6 user: drh tags: trunk)
19:06
Fix an assert() failure that could occur if compiling with OMIT_SHARED_CACHE. (check-in: 3e76a9f2c0 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: 5a5ff4e3e4 user: dan tags: experimental)
17:26
Add tests to pager1.test and pagerfault.test. (check-in: f5df83fd87 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: 2241788bc8 user: drh tags: trunk)
11:30
Add tests to pager1.test and pagerfault.test. (check-in: 58c0b5bfed user: dan tags: experimental)
2010-06-18
18:59
Add tests to pager1.test. (check-in: 582fca8919 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: ce0a4a9b5f 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: 077b0e5bcd user: dan tags: experimental)
2010-06-17
17:05
Apply [b9b11855e8] (the alternate fix to [fc62af4523]) to the trunk. (check-in: 9a949a3a5c user: dan tags: trunk)
16:44
Merge trunk change [7c3a86b9c7]. (check-in: bd7bc4e0e2 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: b9b11855e8 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: 7c3a86b9c7 user: drh tags: trunk)
11:36
Fix bug in journal2.test. (check-in: c1e04f1d4e user: dan tags: experimental)
10:52
Merge trunk updates with experimental branch. Also add tests to journal2.test. (check-in: 9f6ea1de5a user: dan tags: experimental)
10:42
Do not delete the journal file in "PRAGMA journal_mode" commands. This fixes [fc62af4523]. (check-in: 1ec74591a9 user: dan tags: trunk)
10:24
Add test case for [fc62af4523]. (check-in: cccd32c692 user: dan tags: trunk)
06:19
Merge fix [f80c3f922a] with experimental changes. (check-in: 20133e9ca9 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: f80c3f922a user: drh tags: trunk)
2010-06-16
19:48
Merge in changes up to and including the 3.6.23.1 release. (check-in: 21ca87f691 user: drh tags: apple-osx)
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: bede8c8a14 user: dan tags: experimental)
12:30
Add extra test cases to pager1.test. (check-in: ad3209572d 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: 6c5c04eea1 user: dan tags: trunk)
2010-06-15
19:07
Rationalize a common pattern in tcl test cases into proc do_multiclient_test. (check-in: efe4456498 user: dan tags: trunk)
18:00
Fix a problem introduced into lock2.test by the previous commit. (check-in: c1c9f6fa9d user: dan tags: trunk)
17:44
Add test file pager1.test, containing tests of inter-process locking in non-wal mode. (check-in: 6e43eed931 user: dan tags: trunk)
14:21
Run extra iterations in wal3.test to ensure test coverage. (check-in: ea80cbe51e user: dan tags: trunk)
14:06
Merge in [2c5e48a485]. Merge in [2c5e48a485]. Merge in [2c5e48a485]. (check-in: 03c0f4fd9c user: dan tags: trunk)
13:56
Changes to the way tcl test scripts work. No changes to production code. (Closed-Leaf check-in: 2c5e48a485 user: dan tags: experimental)
12:09
Minor tweaks to the interface documentation - adding hyperlinks. (check-in: 07b2fdd1ce user: drh tags: trunk)
11:21
Updates to comments and testcase() macros in wal.c. (check-in: 4d90cc0bc0 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: a2b9374fc6 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: 58dfd83d8b user: drh tags: trunk)
17:09
Merge the experimental shared-memory mmap-by-chunk changes into the trunk. (check-in: f295e7ed5f user: drh tags: trunk)
16:16
Add the new xShmMap (formerly xShmPage) to os_win.c. (check-in: 13e7a82422 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: fc0cabc15c user: dan tags: experimental)
11:49
Update some comments in wal.c. No code changes. (check-in: 1ce9c92bff user: dan tags: experimental)
11:18
Change the interface to internal function walGetHash() to make it easier to follow. (check-in: 5e8e2e978e user: dan tags: experimental)
10:30
Add the xShmPage method to the "crash" vfs in test6.c. (check-in: 1008f53644 user: dan tags: experimental)
07:53
Add some fault-injection tests to improve coverage. (check-in: 37b26d125f user: dan tags: experimental)
2010-06-12
12:02
Fix some problems with handling IO errors on the experimental branch. (check-in: eade8bc238 user: dan tags: experimental)
2010-06-11
19:04
Experimental change to the xShmXXX parts of the VFS interface. (check-in: ca68472db0 user: dan tags: experimental)
17:01
Refactor and simplify the logic used to change journalmode. (check-in: 95cc3f6fde user: drh tags: trunk)
2010-06-10
16:25
Adding original art for the new SQLite logo. (check-in: af353bd89e 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: 5d694f04fe user: drh tags: trunk)
10:51
Update the test VFS in test_journal.c so that it implements the xCurrentTimeInt64 method. (check-in: ec3b4a7e5d 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: 0ce42e7665 user: dan tags: trunk)
01:07
Remove a condition that must always be true. Replace it with an assert(). (check-in: 7abcd54ec0 user: drh tags: trunk)
2010-06-09
19:01
Fix test script problems causing errors in the "inmemory_journal" permutations. (check-in: ea05b7f929 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: 0797b10c0c user: dan tags: trunk)
15:47
Fix for ticket [f973c7ac31]. (check-in: 6eb058dda8 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: c576827d55 user: drh tags: trunk)
11:28
Simpler fix for the race condition also fixed by [7c102c7b5f] (check-in: 3c2de82003 user: dan tags: trunk)
11:02
Fix for race condition in WAL locking code. (Closed-Leaf check-in: 7c102c7b5f 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: b072e9f69a 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: ac4cc2574b 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: 95cc976f15 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: 7c33eb5a5a user: dan tags: trunk)
14:28
Refactor some of the global variables and commands used by tester.tcl. (check-in: c2edf8e17f user: dan tags: trunk)
06:11
Add a couple of extra coverage tests for wal.c. (check-in: cfe60254df user: dan tags: trunk)
2010-06-05
19:18
Add further test cases for the logic in sqlite3WalBeginReadTransaction(). (check-in: a49713db39 user: dan tags: trunk)
18:34
Clarify the purpose of a test for a race-condition in sqlite3WalBeginReadTransaction(). (check-in: c041c6a978 user: dan tags: trunk)
18:12
Remove a condition from sqlite3WalRead() that is unreachable as of the changes to clear entries out of the wal-index hash tables on transaction or savepoint rollback. (check-in: 394204735a user: dan tags: trunk)
14:42
Mark a condition in wal.c as ALWAYS(). (check-in: 3fe0cc784a user: dan tags: trunk)
11:53
Add extra coverage test cases for wal.c. No changes to production code. (check-in: f9d4ae0e8c user: dan tags: trunk)
2010-06-04
18:38
Clarify an assert in sqlite3WalExclusiveMode(). (check-in: 255850699d user: dan tags: trunk)
17:16
Remove an unnecessary branch from wal.c. (check-in: 8e54786c9a user: dan tags: trunk)
15:59
Add an English language error message to corresponding to SQLITE_PROTOCOL. "locking protocol". (check-in: ca327e32cf user: dan tags: trunk)
12:22
Add test for the code that detects an inconsistent pair of wal-index headers to wal2.test. (check-in: 157feba10f user: dan tags: trunk)
11:56
If an attempt to sync the database file as part of a checkpoint fails, do not update the shared "nBackfill" variable. Otherwise, another process could wrap the log and overwrite content before it is synced into the database. (check-in: b813233d76 user: dan tags: trunk)
10:37
Fix a problem where an SQLITE_BUSY in the checkpoint code was being treated as an IO error (abandoning, instead of just limiting, the checkpoint). (check-in: 02c4040ce2 user: dan tags: trunk)
2010-06-03
19:10
Fix another problem in test_vfs.c. (check-in: df7d59899c user: dan tags: trunk)
18:20
Have test_vfs.c simulate IO errors in xShmLock. (check-in: fcbf7cf189 user: dan tags: trunk)
18:02
Performance fix for winShmClose(). (check-in: ed7774de04 user: drh tags: trunk)
16:58
Add extra tests for removing elements from wal-index hash tables as part of a rollback. (check-in: af3e598ad9 user: dan tags: trunk)
12:35
Delay opening the sub-journal until SQLite actually needs to write data to it. (check-in: c43deb33ae user: dan tags: trunk)
12:09
Remove global variables when compiled with SQLITE_OMIT_WSD (check-in: dd10a547f1 user: drh tags: trunk)
09:25
Enhancements to test_vfs.c and walfault.test. (check-in: ac0de2f39e user: dan tags: trunk)
09:17
If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache. This can affect both WAL and rollback modes. (check-in: eb80ddc665 user: dan tags: trunk)
09:01
If a malloc fails while allocating a savepoint object at the pager level, do not try to roll that savepoint back later on. (check-in: 91cb08ffb6 user: dan tags: trunk)
2010-06-02
20:38
When a lock fails due to an I/O error (not an SQLITE_BUSY) then the checkpoint should fail. (check-in: c6eb0a2727 user: drh tags: trunk)
18:59
Fix a problem with rolling back to a savepoint opened before the writer decided to wrap the log file. (check-in: 6b4aed6aae user: dan tags: trunk)
17:15
If an error occurs while writing frames to the log to commit a transaction, do not mark the pages as clean in the cache. Otherwise, the subsequent rollback does not roll them back (leaving the client to continue with a cache that makes it appear that the transaction was committed - inconsistent with the database on disk). (check-in: cb571c1b71 user: dan tags: trunk)
16:40
Added implementation of vfslog_time() for Windows testing. (check-in: b3109f85bd user: shaneh tags: trunk)
16:39
Updated wal2.test for windows testing. (check-in: c3606f3985 user: shaneh tags: trunk)
15:59
Make sure the directory used by os_unix.c for shared-memory files is always the same, regardless of individual client permissions and environment variable settings. (check-in: f97bd520f0 user: drh tags: trunk)
15:43
When walTryBeginRead() encounters an I/O error trying to set a lock (as opposed to SQLITE_BUSY) be sure to propagate that error back up the call stack. (check-in: aa2c2b67a7 user: drh tags: trunk)
14:45
Changes to make WAL more robust against SHM locking failures and OOM errors. (check-in: ebf4041383 user: drh tags: trunk)
14:43
In the rowhash.test, make sure global variables are cleared prior to use. (check-in: 28efe0a404 user: drh tags: trunk)
12:58
Undo one of the "const" markers from the previous check-in because the value needs to be changable, even if it is not actually ever changed in the current implementation. (check-in: c24ac3563f user: drh tags: trunk)
05:53
Add some 'const' markers to static data that is really constant. (check-in: e7073e23b8 user: dan tags: trunk)
2010-06-01
21:02
The shared-memory used by WAL on linux now really is shared memory in /dev/shm. On other unix flavors, the file is in a temporary directory rather than in the same directory as the database. (check-in: fc18c4aadb user: drh tags: trunk)
19:15
Changes to the way faults are injected into xShmXXX VFS calls. (check-in: 716d99f392 user: dan tags: trunk)
17:46
Change the OOM and IO error test cases in walfault.test so that each test case runs both types of error simulation. (check-in: b627e15368 user: dan tags: trunk)
15:44
Delay the decision to restart the log file until data is actually ready to be written to the log file (instead of at the start of a write transaction). (check-in: b1abfaaf53 user: dan tags: trunk)
15:24
The incremental checkpoint feature is not perfect yet, but it is working well enough to merge it into the trunk. (check-in: 1d3e569e59 user: drh tags: trunk)
14:30
Merge with [15abbc3416]. (Closed-Leaf check-in: f4b9003a2d user: dan tags: wal-incr-ckpt)
14:12
If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level. (check-in: ce64496509 user: dan tags: wal-incr-ckpt)
13:17
Fix a bug introduced by the previous check-in but only seen if SQLITE_ENABLE_EXPENSIVE_ASSERTS is turned on. (check-in: 9c9ec8994b user: drh tags: wal-incr-ckpt)
12:58
Fix an off-by-one boundary-value issue in walCleanupHash(). (check-in: f039552e63 user: drh tags: wal-incr-ckpt)
11:08
Do not hold the shared-memory mutex in os_unix.c if returning NULL. (check-in: 9622dd468c user: dan tags: wal-incr-ckpt)
10:44
If the checkpoint fails to obtain an exclusive lock on one of the read-lock bytes, do not consider this an error. (check-in: 9e95e35728 user: dan tags: wal-incr-ckpt)
07:51
Fixes to the test cases in wal2.test. (check-in: cd5fbcbce8 user: dan tags: wal-incr-ckpt)
01:08
Comment edits and cleanup in wal.c. No functional code changes. (check-in: e8e666ab82 user: drh tags: wal-incr-ckpt)
00:28
Attempt to get the filectrl.test script running. (check-in: e46a8f2b75 user: drh tags: wal-incr-ckpt)
00:03
Fix os_unix.c so that it will compile and build on a Mac. (check-in: bc707c83e5 user: drh tags: wal-incr-ckpt)
2010-05-31
20:28
Fix issues with locking_mode=EXCLUSIVE in WAL. (check-in: 8deba0cebd user: drh tags: wal-incr-ckpt)
18:24
Add an "isInit" field in the wal-index header that must be non-zero for a valid header. Use this to detect an uninitialized wal-index. (check-in: a16fde1901 user: drh tags: wal-incr-ckpt)
16:56
Fix an inconsistent #ifdef in wal.c. Fix os_unix.c so that it does not allow moving an SHM lock directly exclusive to shared without going through unlocked. (check-in: 552658da28 user: drh tags: wal-incr-ckpt)
16:41
Avoid dropping the checkpoint lock after a recovery run as a precursor to a checkpoint operation. (check-in: cc25cfa046 user: dan tags: wal-incr-ckpt)
16:17
Zero the checkpoint header as the last step of successful WAL recovery. Avoid an unnecessary lock/unlock in WalBeginReadTransaction. (check-in: db3509c55d user: dan tags: wal-incr-ckpt)
16:10
Get the new xShmLock interface design working on os_win.c. (check-in: 149a7082e2 user: drh tags: wal-incr-ckpt)
14:39
Make sure WAL alway requests enough shared-memory space. (check-in: 138f128317 user: drh tags: wal-incr-ckpt)
14:28
Remove the tests that enable tracing based on the existance of the "vdbe_*" files when in SQLITE_DEBUG mode. (check-in: cdbb4e7ca7 user: drh tags: wal-incr-ckpt)
14:18
Update another test case in wal.test. (check-in: 99fde69e61 user: dan tags: wal-incr-ckpt)
13:11
Change WAL test cases to account for the improved concurrency in the new checkpoint logic. (check-in: 2d6f248505 user: drh tags: wal-incr-ckpt)
12:30
Do not fail a checkpoint just because active readers prevent backfill. (check-in: 9aa4243e0c user: drh tags: wal-incr-ckpt)
12:15
Add WALTRACE() macros to help with debugging and analysis. (check-in: 765c33181a user: drh tags: wal-incr-ckpt)
12:02
Another minor fix to checkpoint on the WAL branch. (check-in: 853f1e3f77 user: dan tags: wal-incr-ckpt)
11:39
Fix a bug in checkpoint introduced by [181ceb32ea]. (check-in: b499dbc88a user: dan tags: wal-incr-ckpt)
11:16
Fix some asserts and other things in the new WAL branch. (check-in: 181ceb32ea user: dan tags: wal-incr-ckpt)
06:38
Changes to the way one of the WAL/OOM tests works. (check-in: 15abbc3416 user: dan tags: trunk)
01:41
WAL runs but quickly deadlocks. (check-in: ace58acbf1 user: drh tags: wal-incr-ckpt)
2010-05-30
19:55
Initial code for incremental checkpoint in WAL mode. This check-in compiles on unix and runs as long as you do not engage WAL mode. WAL mode crashes and burns. Consider this check-in a baseline implementation for getting the new capability up and running. (check-in: ef3ba7a17f user: drh tags: wal-incr-ckpt)
2010-05-29
08:40
Add tests to fkey2.test to check that ON CONFLICT clauses do not affect SQLite's behaviour when an FK constraint is violated. (check-in: e9e5b10019 user: dan tags: trunk)
06:18
Minor changes to checksum related test cases. (check-in: 60c22bde52 user: dan tags: trunk)
2010-05-28
11:16
Add a test to walcksum.test to stress the checksum calculation. (check-in: 778d0c1768 user: dan tags: trunk)
2010-05-26
17:31
Make sure the wal-index mapping is always large enough to cover the entire active area of the wal-index. (check-in: 42705babba user: drh tags: trunk)
15:06
Change the semantics of xShmGet() such that it will never increase the size of shared memory. xShmSize() must be used to grow the size of shared memory. A shared memory segment size cannot be shrunk (except by dropping it). (check-in: 72de007312 user: drh tags: trunk)
2010-05-25
15:53
Updated header comments in wal.c. No functional code changes. (check-in: 687632a6b3 user: drh tags: trunk)
15:23
Add a busy-handler to a test case in walthread.test to prevent errors. (check-in: d3d348aa97 user: dan tags: trunk)
13:49
Modify walcrash2.test so that it works with DEFAULT_AUTOVACUUM=1. (check-in: 77438882dd user: dan tags: trunk)
13:40
Update header comments in wal.c to correctly describe the WAL file format. Update the locking region offsets in os_unix.c and os_win.c and add assert() statement to verify that the locking region offsets are correct. (check-in: 40030c0739 user: drh tags: trunk)
10:50
If a writer exits unexpectedly in the middle of a transaction, have the following writer remove any wal-index hash-table entries left by the interrupted transaction. (check-in: ed77556adc user: dan tags: trunk)
02:24
Remove unreachable code associated with WAL from the pager. (check-in: 54c1718e6d user: drh tags: trunk)
2010-05-24
20:27
OOM errors during an auto-checkpoint are benign. (check-in: 3d252ce5d0 user: drh tags: trunk)
20:24
Remove the walmode.test case from the inmemory_journal test of permutations.test. (check-in: 27ba9c21fb user: drh tags: trunk)
17:00
Fix the wal2.test script so that it works in auto_vacuum mode. (check-in: 6a818afb93 user: drh tags: trunk)
13:57
Change the checksum used in WAL files so that each frames checksum depends on the content of the WAL header and all frame headers and content up to and including the frame to which the checksum is attached. (check-in: 8a53f12c83 user: dan tags: trunk)
13:28
Make sure a WAL frame of all zeros is detected as an invalid frame. (check-in: 02d99ad4b5 user: drh tags: trunk)
12:34
Fix up test_osinst.c to work with SQLITE_OMIT_VIRTUALTABLE. (check-in: 51fd38152b user: drh tags: trunk)
10:39
Change the WAL file format to support two kinds of checksums - one that is fast to calculate on little-endian architectures and another that is fast on big-endian architectures. A flag in the wal-header indicates which the file uses. (check-in: 65ba804dd1 user: dan tags: trunk)
2010-05-22
08:22
Add a couple of missing methods to test_osinst.c.. (check-in: 5c9e9c06ae user: dan tags: trunk)
00:55
Add several EXPENSIVE_ASSERT code blocks to validate the wal-index hash table. Fix the bugs that these code blocks fine. Rename walClearHash() to walCleanupHash() and simplify its interface. (check-in: 7aade899e5 user: drh tags: trunk)
2010-05-21
19:15
Fix another bug in walClearHash(). (check-in: 40f80ffe70 user: dan tags: trunk)
18:24
Comment out the SQLITE_FCNTL_SIZE_HINT from os_unix.c since it does not seem to provide any performance gain there. (check-in: 7d01309da6 user: drh tags: trunk)
16:23
Correct an off-by-one bug in the previous commit. (check-in: 75a1130d86 user: dan tags: trunk)
15:31
Remove entries from wal-index hash tables when a rollback or savepoint rollback occurs. (check-in: 36795c2b23 user: dan tags: trunk)
13:16
Fix the wal-index header read routine so that it correctly detects a zero header as being malformed and in need of a wal-index rebuild. (check-in: 1a4eb3a3ef user: drh tags: trunk)
2010-05-20
23:51
Add a new xShmBarrier method to the VFS - a shared-memory fence operation. Implement the same in both unix and win32. Use it to make the WAL subsystem more robust. (check-in: 1bd011c9fe user: drh tags: trunk)
21:21
Make use of the extra information in the WAL header and frame header to enhance robustness. (check-in: 9580ecb7e3 user: drh tags: trunk)
16:45
Convert the wal-header and frame-header to 24 bytes. Extra information in both headers is designed to enhance robustness after crashes, though the extra information is currently unused. This is a snapshot of a work in progress. (check-in: 669706431f user: drh tags: trunk)
2010-05-19
23:41
Merge WIN32 WAL support into trunk. Still some issues with locking to resolve. (check-in: 43377663fc user: shaneh tags: trunk)
22:09
Cherry-pick the SQLITE_FCNTL_SIZE_HINT patch (check-in [2b7e3b4a30d6a7c4a8] and bump the version number to 3.6.23.2. (check-in: 776679af58 user: drh tags: branch-3.6.23)
20:30
Disable the corruptE test which SQLITE_OVERSIZE_CELL_CHECK is enabled. This is a cherrypick merge from check-in [1dc4f9fe9b83467ba]. (check-in: a40d080ca3 user: drh tags: branch-3.6.23)
19:39
Add the SQLITE_FCNTL_SIZE_HINT to the os_win.c VFS. (check-in: 9894118d20 user: drh tags: trunk)
19:26
Add the SQLITE_FCNTL_SIZE_HINT operator to sqlite3_file_control() and use it to give the VFS hints about the ultimate size of a database file when the file is growing. (check-in: 2b7e3b4a30 user: drh tags: trunk)
19:09
Fix a bug in the new checkpoint computation. Also update the checkpoint algorithm in the test scripts to align with the new implementation. (check-in: 8b6056f2ee user: drh tags: trunk)
18:08
Revise the checksumming algorithm in wal.c. More variable refactoring. (check-in: 542b90eba6 user: drh tags: trunk)
17:49
Refactoring some variable names in wal.c. (check-in: 1d201ff51f user: drh tags: trunk)
01:53
Add a large comment to wal.c describing the WAL and wal-index file formats. (check-in: a71a22b52f user: drh tags: trunk)
2010-05-18
23:29
Update the wal-index hash format so that hash-table space is reused following a rollback, thus preventing hash table overflows. Add assert()s to verify that hash tables do not overfill. Further refactoring of the wal-index code. (check-in: ada9a8c7b6 user: drh tags: trunk)
18:01
Refactoring of the WalIterator implementation. (check-in: b5b60fdcc5 user: drh tags: trunk)
13:27
Mark the shared-memory in the WAL implementation as volatile. (check-in: 0a6787908e user: drh tags: trunk)
12:56
Comment clarifications in wal.c. (check-in: a029be1017 user: drh tags: trunk)
2010-05-17
20:16
Remove an unreachable test from wal.c. (check-in: 7162c45673 user: drh tags: trunk)
2010-05-15
10:24
Add a note to the documentation of sqlite3_wal_hook() to say not to return SQLITE_ROW or SQLITE_DONE. Or any other value that is not a valid SQLite error code. (check-in: 2f0b6cbf7b user: dan tags: trunk)
01:09
Silently ignore errors trying to set the default journal_mode while doing an ATTACH. (check-in: b9af4ad2ef user: drh tags: trunk)
2010-05-14
20:15
Fix a typo that (by bad luck) was not a syntax error but which caused some important lines of code to be skipped when SQLITE_DEBUG was not used. (check-in: 9ef99d97d2 user: drh tags: trunk)
19:24
Make sure the value of an INTEGER PRIMARY KEY column supplied to triggers and especially to FK constraints really contains the ROWID and not the NULL that is stored in the column itself. Ticket [dd08e5a988d00dec]. (check-in: 636f86095e user: drh tags: trunk)
16:34
Pull in all the latest changes from the trunk. Update the win32 SHM methods to work with the new interface design. (Closed-Leaf check-in: 4b69f2cd31 user: drh tags: wal-win32)
14:52
Simplifications to the SHM implementation in os_unix.c, taking advantage of the removal of the LinuxThreads mess. (check-in: d1debe5def user: drh tags: trunk)
12:43
Simplify os_unix.c by removing support for LinuxThreads. Linux systems must either use NPTL or else not share database connections across threads. (check-in: e294b696ba user: drh tags: trunk)
11:30
Change the OSTRACEn() macro to OSTRACE(()). Also rename some internal fields and variables in os_unix.c to be more meaningful and searchable. (check-in: 5fe529f239 user: drh tags: trunk)
10:43
Fix test_osinst.c so that it does not depend on gettimeofday() unless SQLITE_OS_UNIX is defined and NO_GETTOD is not defined. (check-in: 2a4014b79b user: dan tags: trunk)
08:39
Add xShmXXX methods to test_osinst.c. (check-in: b8a9b37a3c user: dan tags: trunk)
2010-05-13
20:19
Make debugging elements of the sqlite3_mutex object volatile and make them only appear when compiling with SQLITE_DEBUG. Ticket [51914f6acd2cb462]. (check-in: e823c60ca4 user: drh tags: trunk)
15:44
Allow sqlite3WalCheckpoint() to be called even if the WAL is in the SQLITE_SHM_READ state, as sometimes happens after an error. (check-in: 175b296f9b user: drh tags: trunk)
09:40
Remerge mistaken test_osinst.c changes. (check-in: e8c10d3cf6 user: dan tags: trunk)
09:32
Fix mistake in test_osinst.c. (Closed-Leaf check-in: 4c3e137803 user: dan tags: mistake)
09:11
Make sure xShmGet is never called while already holding the shared-memory segment. (check-in: 92ebdbc5f6 user: drh tags: trunk)
08:53
The refactored of VFS SHM primitives are now working so merge the wal-refactor branch back into the trunk. (check-in: bce21c1838 user: drh tags: trunk)
08:33
Change the xShmSize() implementation in os_unix.c so that it will only increase and never decrease the size of a shared-memory segment. (Closed-Leaf check-in: 149d2ae4a6 user: drh tags: wal-refactor)
07:08
Fix for a segfault that can follow a malloc failure. (check-in: 3cab902245 user: dan tags: wal-refactor)
06:19
Modify the VFS in test_vfs.c to match the refactoring of the xShmXXX methods. (check-in: 25e72f8156 user: dan tags: wal-refactor)
2010-05-12
19:02
(Moved to the mistake branch due to compile errors in test_osinst.c.) Change the vfs instrumentation code in test_osinst.c to make it easier to deploy. Add a vtab implementation for reading the binary log file format. (check-in: ee13c8849d user: dan tags: mistake)
18:30
Fix for the test_devsym.c test module for the VFS-SHM refactoring. (check-in: 49d6293375 user: drh tags: wal-refactor)
18:10
A couple simple fixes to get wal.test mostly working. (check-in: c744581274 user: drh tags: wal-refactor)
18:01
Refactoring the VFS-SHM methods used by WAL. This version compiles and runs non-WAL test cases but crashes and burns on wal.test. (check-in: 2b00152c1a user: drh tags: wal-refactor)
17:14
Updates to WAL support in os_win.c: pulled in latest changes from src/os_unix.c; updated tracing; misc. improvements. (check-in: 76504726a1 user: shaneh tags: wal-win32)
13:50
Remove the OP_Variable optimization of check-in [48b77b04935d894] since it can lead to malfunctions as described in ticket [26ff0c82d1e90]. (check-in: 7838163d08 user: drh tags: trunk)
06:54
Remove a branch made redundant by the earlier exclusive-mode changes. (check-in: c501b2ede6 user: dan tags: trunk)
2010-05-11
16:29
Have os_unix.c use the suffix "-wal-index" for wal-index files instead of "-wal-inde". (check-in: 885e854e7c user: dan tags: trunk)
14:00
When an attempt to change journal_mode fails due to locks, be sure to leave internal structures in a consistent state. (check-in: cf3d1e0b8a user: drh tags: trunk)
12:19
Changes so that WAL and exclusive-locking mode work together. (check-in: 71e7b1cf9f user: dan tags: trunk)
02:49
Initial port of WAL VFS support from os_unix.c to os_win.c. (check-in: 111ad59f21 user: shaneh tags: wal-win32)
02:46
Updates to WAL TCL test scripts to support running on Windows. (check-in: 6a5630806c user: shaneh tags: trunk)
2010-05-10
19:51
Fix an off-by-one error while constructing the name of the mmap file for the wal-index under os_unix.c. (check-in: 6e3735f72c user: drh tags: trunk)
18:10
Merge [96d6eaf4d2] and [40b0a6357b]. (check-in: c67756c404 user: dan tags: trunk)
17:29
Fix an uninitialized variable in OSX proxy locking. (check-in: 96d6eaf4d2 user: drh tags: trunk)
14:46
Modify the format of the wal-index to use a hash table to index log file segments. (check-in: 40b0a6357b user: dan tags: trunk)
14:10
If an ATTACH command fails due to OP_JournalMode but still attaches the database, make sure VACUUM still detaches it when done. (check-in: 6ecdc7ba2b user: drh tags: trunk)
11:20
Enhance the OP_JournalMode opcode with an ignore-errors option and use that option the ATTACH command. (check-in: 0bdea4cfbd user: drh tags: trunk)
2010-05-07
20:34
When running a checkpoint while in locking_mode=EXCLUSIVE, be sure to move the wal-index lock to UNLOCK from READ prior to promoting to CHECKPOINT. (check-in: be114bdf9b user: drh tags: trunk)
20:02
Change the xShmOpen() method of the VFS to take the database file name as its argument, not the WAL file name. Also fix some unrelated compiler warnings. (check-in: a65c293926 user: drh tags: trunk)
18:23
Additional tweaks to API documentation. No functional code changes. (check-in: e1230782a3 user: drh tags: trunk)
13:57
Updates to documentation on the C interfaces supporting WAL. No functional changes to code. (check-in: 681ba20cf0 user: drh tags: trunk)
13:52
Fix a recently introduced problem in wal.test. (check-in: 79b52d0ff7 user: dan tags: trunk)
12:49
Change wal.test and walhook.test so that they work with DEFAULT_AUTOVACUUM=1 builds. (check-in: 4cde92909c user: dan tags: trunk)
09:43
Test another IO error case in wal.c. (check-in: 8b3b5ab8fa user: dan tags: trunk)
06:59
Fix a problem with checkpointing large log files created by an external process. (check-in: 8f94bde568 user: dan tags: trunk)
05:46
Since walIndexTryHdr() can no longer encounter any error conditions, change tehe function signature so that it does not return an error code. This removes unreachable branches from other code. (check-in: 061a282cc0 user: dan tags: trunk)
00:28
Another attempt to fix permutations.test so that it excludes WAL tests from the journaltest permutation. (check-in: 58c404429c user: drh tags: trunk)
2010-05-06
22:21
Remove savepoint6.test from the set of tests run by journaltest since savepoint6.test uses journal_mode=WAL. (check-in: 811b45a96b user: drh tags: trunk)
21:37
The PRAGMA journal_mode=WAL; command now makes WAL the default journal mode for new databases added with ATTACH, so the behavior is consistent with the other journal modes. (check-in: c3520460a4 user: drh tags: trunk)
20:19
Make sure to do a clean shutdown of the library upon existing the shell in order to remove WAL files. (check-in: c1762dda00 user: drh tags: trunk)
19:55
Exclude all WAL tests from the journaltest permutation. (check-in: 46c97d7eee user: drh tags: trunk)
19:20
Changes to support SQLITE_OMIT_WAL. (check-in: 32a8501d78 user: shaneh tags: trunk)
19:04
Updates to the VFS SHM locking documentation. (check-in: 9927ce4210 user: drh tags: trunk)
18:48
Instead of transitioning to RECOVER state from CHECKPOINT when a recovery is required, perform the recovery while holding the CHECKPOINT lock. (check-in: bb0b6021e7 user: dan tags: trunk)
18:27
If recovery is run before a checkpoint, change back to a CHECKPOINT lock before performing the actual checkpoint. (check-in: dc98ee169c user: dan tags: trunk)
18:04
Only pass -1 as the size parameter to xShmGet when the caller does not care what size mapping is returned. Only call xShmSize when the underlying allocation (not the mapping) should be resized. (check-in: 637f51ddf9 user: dan tags: trunk)
17:28
Fix a bug whereby an old snapshot could be checkpointed (and subsequent transactions discarded) if the last connection to disconnect from a WAL database happended to be holding an out-of-date wal-index header. (check-in: d0c0034b0b user: dan tags: trunk)
16:06
After throwing an error to say that one cannot change into WAL mode within a tranactions, do not then go and change into WAL mode. (check-in: 56a17dae91 user: drh tags: trunk)
15:56
Further coverage tests. (check-in: 98a9713e00 user: dan tags: trunk)
15:36
Update configure scripts for WAL support. (check-in: 2edc5129f2 user: shaneh tags: trunk)
14:42
Add tests to cover a couple of branches in wal.c. (check-in: 429f437fb7 user: dan tags: trunk)
13:36
Unset a tcl variable before reusing it in wal.test. (check-in: e83efb232f user: dan tags: trunk)
12:15
Add tests for some lock-contention cases. (check-in: f0fcb9c9a6 user: dan tags: trunk)
11:56
Remove the noop-mutex implementations of mutex_held() and mutex_notheld() since they are both unreachable. (check-in: 6767b62a9a user: drh tags: trunk)
11:55
Add two text files containing pager design notes to the doc/ subfolder. (check-in: ed817fc893 user: drh tags: trunk)
11:32
Add test cases to test the libraries handling of corrupt wal-index headers. (check-in: 9465b267d4 user: dan tags: trunk)
07:43
Add tests for handling errors returned by xShm VFS methods. (check-in: fbbcacb137 user: dan tags: trunk)
2010-05-05
20:00
Change the behavior of the sqlite3_wal_hook() callback. It should now return SQLITE_OK or an error code and the error code is propagated back up the stack. If a checkpoint is desired, the callback should invoke sqlite3_wal_callback() itself. (check-in: 1b14195e05 user: drh tags: trunk)
19:09
Further simplifications to the SHM locking logic. Remove the SQLITE_SHM_QUERY option. Unify the WRITE to READ and RECOVER to READ transitions. (check-in: e9bfa6e4ce user: drh tags: trunk)
19:04
Test the handling of errors returned by the xShmXXX() APIs. (check-in: 72663123d6 user: dan tags: trunk)
18:46
Do not compare page sizes on source and destination of backup until transactions are started and the page sizes are locked. This is a fix to check-in [7bd44794c4]. (check-in: ec7157788b user: drh tags: trunk)
18:20
Simplifications to the SHM locking implementation in os_unix.c. (check-in: 9de05bfb09 user: drh tags: trunk)
16:23
Prohibit backup if the destination is using WAL and has a different page size from the source. (check-in: 7bd44794c4 user: drh tags: trunk)
15:33
When closing a WAL database, if the exclusive lock on the database file is obtained and the database successfully checkpointed, delete the wal-index file from the file system. (check-in: 2ac5d96c8e user: dan tags: trunk)
04:11
Make sure the page size of the main database is fixed following a failed VACUUM attempt. Otherwise, two consecutive failed VACUUM attempts with attempted page_size changes on encrypted or WAL databases could result in database corruption. (check-in: 208e7d5d3a user: drh tags: trunk)
03:39
Do not attempt to modify the page_size when running VACUUM on a WAL database. (check-in: 58a1a59be8 user: drh tags: trunk)
00:22
Get the previous mutex fix working with SQLITE_DEBUG and with the amalgamation. (check-in: df19928f7e user: drh tags: trunk)
00:05
When the in single-threaded mode, the sqlite3_mutex_alloc() interface still returns a non-NULL value. The mutex doesn't do anything, but it tests non-NULL. This way, extensions (or VFSes) that use sqlite3_mutex_alloc() can tell the difference between an OOM error and mutexes being disabled. (check-in: 451fd17575 user: drh tags: trunk)
2010-05-04
18:50
When sqlite3PagerPagecount() is called without any locks, always return the physical file size, not the logical file size. (check-in: 4016b42228 user: drh tags: trunk)
17:38
Be sure to release all wal-index locks before closing the wal-index. (check-in: b15b67fa14 user: drh tags: trunk)
17:20
Relax an over-zealous assert() in sqlite3WalUndo(). (check-in: 8f9d22d58c user: drh tags: trunk)
16:33
Take care not to invoke the xShmClose method of the VFS with a NULL shared memory object. (check-in: 1465d3842c user: drh tags: trunk)
15:20
Add a test case to verify that log files containing pages that are not a power-of-two bytes in size are handled correctly. (check-in: c2bf693f93 user: dan tags: trunk)
14:47
Fix problems with recovering wal files that use a page-size other than the default. (check-in: 1a391f3c55 user: dan tags: trunk)
11:06
Fix a typo in walfault.test. (check-in: 232dbe8ece user: dan tags: trunk)
10:36
Test that the correct number of padding frames are appended to the log file after committing a transaction in synchronous=FULL mode. (check-in: a60104aa7e user: dan tags: trunk)
2010-05-03
19:20
Unset some global TCL variables prior to use in test where prior tests can have those same variables set to an array value. (check-in: 49bef00e5c user: drh tags: trunk)
19:17
Fix a bug in the computation of the current time for the alternative CURRENT_TIMESTAMP functions used when SQLITE_OMIT_DATETIME is defined. (check-in: e7ded46b5e user: drh tags: trunk)
18:51
Documentation stubs for sqlite3_wal_autocheckpoint and sqlite3_wal_checkpoint. (check-in: 313762427d user: drh tags: trunk)
18:22
Fix a bug in the xCurrentTime() method of the os_unix.c VFS. (check-in: 551df11a56 user: drh tags: trunk)
18:01
Add a test to simulate an OOM during log recovery to walfault.test. (check-in: 7ed85e87dd user: dan tags: trunk)
17:24
Clear global variable "seconds" before use in walthread.test. (check-in: a35551a530 user: drh tags: trunk)
17:18
Fix a couple of errors in WAL code that can occur in an OOM situation. (check-in: 9d3f3736be user: dan tags: trunk)
16:36
Update the crash-test VFS in test6.c to pass-through the shared-memory methods to the real underlying VFS. This fixes the walcrash.test script. (check-in: ea09ff3791 user: drh tags: trunk)
16:30
Change the VFS definition so that all methods take a VFS object pointer as their first parameter. (check-in: 43b5b07f0d user: drh tags: trunk)
15:58
Have sqlite3_wal_checkpoint() handle a zero-length string in the same way as a NULL pointer. Fix "PRAGMA wal_checkpoint" so that it checkpoints all attached databases. (check-in: 7fecd21f45 user: dan tags: trunk)
14:32
Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available. Provide an implementation of xCurrentTimeInt64 for os_unix.c. (check-in: ab77b3ae6d user: drh tags: trunk)
14:08
Merge the write-ahead-logging changes into the trunk. (check-in: de9ae443cc user: drh tags: trunk)
14:05
If the sqlite3_wal_checkpoint() API is passed a NULL pointer in place of a database name, attempt to checkpoint all attached databases. (Closed-Leaf check-in: 27a5c09ce8 user: dan tags: wal)
13:37
Make sure the mutex is held while calling sqlite3ApiExit() in sqlite3_wal_checkpoint(). Other cleanup of WAL logic. (check-in: 11a85b821a user: drh tags: wal)
12:14
Have sqlite3_wal_checkpoint() populate the database handle error message and error code (as returned by sqlite3_errmsg() and sqlite3_errcode()). (check-in: ff234cf574 user: dan tags: wal)
11:05
Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint". (check-in: 714e594726 user: dan tags: wal)
08:19
Merge two wal leaves. (check-in: 23c0e6c3f3 user: dan tags: wal)
08:04
Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs. (check-in: 9803196dec user: dan tags: wal)
2010-05-01
20:17
Change the SHM interface so that it does not take the name of the shared object but rather the name of the WAL file and derives its own name from that. Remove the xShmDelete method from the VFS and replace it with a delete flag on xShmClose. (check-in: 94dea5f9c1 user: drh tags: wal)
18:23
Remove the xShmPush and xShmPull methods from the VFS. (check-in: 69e07fdbde user: drh tags: wal)
17:57
Define an invariant to guarantee deadlock-free operation of SHM in os_unix.c and check that invariant with assert() statements. (check-in: 6af2dca75b user: drh tags: wal)
17:50
Rework mutexes on the SHM implemention for os_unix to avoid a deadlock during WAL recovery. (check-in: 1a0f69bef2 user: drh tags: wal)
16:40
Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: 9b230c43df user: dan tags: wal)
11:33
Fix a typo in the walmode.test test script introducted yesterday. (check-in: dcabc90ca5 user: drh tags: wal)
11:19
Fix the sqlite3_mutex_alloc() interface to return NULL (not segfault) when operating in threadsafe mode. (This is a general-purpose bug fix which really ought to be ported to trunk.) (check-in: 64840a3caf user: drh tags: wal)
08:30
Add test case demonstrating deadlock during recovery of very large log files. No fix yet. (check-in: 63ea318eb1 user: dan tags: wal)
00:59
Do not allow journal_mode=WAL if the underlying VFS does not support xShmOpen. (check-in: d1fcccecdc user: drh tags: wal)
2010-04-30
22:28
Merge in changes from the trunk. (check-in: 76bf0eee1f user: drh tags: wal)
21:03
Avoid assertion faults in queries using indices with redundant columns. Ticket [3dbdcdb14e7f41]. (check-in: 946e06cd2a user: drh tags: trunk)
17:47
Change the SHM VFS logic in os_unix.c so that it does not hold an exclusive lock n the mapped memory when also holding a CHECKPOINT lock. This improves concurrency between readers and checkpointers. (check-in: 8660cda6f8 user: drh tags: wal)
17:28
Remove some obsolete debugging parameters. (check-in: a012aed498 user: drh tags: wal)
17:05
Fix a problem with resizing the wal-index mapping after the mapping has been extended by an external process. (check-in: 79d356fea6 user: dan tags: wal)
16:50
Fix a problem with calculating the required size of the wal-index when appending frames. (check-in: 9526b11130 user: dan tags: wal)
16:48
In the debugging output for SHM-LOCK in os_unix.c, use symbolic names for the lock states rather than raw numbers. (check-in: 2afc33de2b user: drh tags: wal)
16:41
Fix a problem in the previous commit. Both unixShm.lockState and unixShm.readLock should be set to READ when downgrading from a WRITE to a READ lock (check-in: 90119fecbc user: dan tags: wal)
16:38
Fix a bug whereby upgrading from a READ_FULL to a WRITE lock, and then back to a read lock was dropping all WAL locks. (check-in: 55f5af5e17 user: dan tags: wal)
16:24
Reapply commits [837d82a929] and [c05e7dca17] that were accidentally overwritten. (check-in: 598de52700 user: dan tags: wal)
16:19
Add xShmXXX() methods to the test VFS in test_devsym.test. (check-in: 1d20342424 user: dan tags: wal)
16:12
Correctly record the fact that the SHM lock reached PENDING if it did so but failed to reach CHECKPOINT. (check-in: d9250e84ac user: drh tags: wal)
15:54
Fix a couple uninitialized variables in the xShmLock method of the unix VFS. Improved debugging logic for xShmLock. (check-in: 69567c5fca user: drh tags: wal)
15:49
When closing a WAL connection, attempt an exclusive lock on the database file. If the lock is obtained, checkpoint the database and delete the wal and wal-index files. (check-in: c05e7dca17 user: dan tags: wal)
15:24
If a reader attempts to upgrade to a writer, but is not reading the most recent database snapshot, return SQLITE_BUSY. (check-in: 837d82a929 user: dan tags: wal)
14:39
Separate the concepts of underlying storage size and mapped size in the VFS shared-memory implementation. (check-in: 4cbe49f13f user: drh tags: wal)
11:43
Add a missing walIndexUnmap() call to the checkpoint code. Change a couple of SQLITE_CANTOPEN constants to SQLITE_CANTOPEN_BKPT. (check-in: 1f9e8c5c27 user: dan tags: wal)
10:24
Fix an assert() in sqlite3WalRead(). (check-in: 2e7a0050e1 user: dan tags: wal)
10:06
Add missing mutexes to unixShmClose(). (check-in: a4741cb54d user: dan tags: wal)
09:52
Fix a couple of assert() statements in os_unix.c and wal.c. Combine sqlite3WalIsDirty() with sqlite3WalUndo(). (check-in: a8f958be80 user: dan tags: wal)
09:32
Add a missing walIndexUnmap() to sqlite3WalSnapshotOpen(). (check-in: 72b95fde15 user: dan tags: wal)
06:02
Merge latest bugfix into wal branch. (check-in: 265e66e698 user: dan tags: wal)
05:57
Zero the "immediate FK constraint counter" associated with a statement object when sqlite3_reset() is called. Fix for [c39ff61c43]. (check-in: f660be615a user: dan tags: trunk)
02:13
The first 6 WAL tests now work. It's a start. (check-in: a92c1851da user: drh tags: wal)
2010-04-29
22:34
Refactor wal.c to use the VFS. This check-in compiles and links and works ok as long as you leave WAL turned off, but WAL does not work. (check-in: 62db5fa3b6 user: drh tags: wal)
16:40
Untested implementation of the shared-memory dead-man-switch. (check-in: 706611283e user: drh tags: wal)
15:17
Progress towards a VFS that will support WAL. Locking code is in place but is untested. Still no support for the DMS. (check-in: 1bde41cf08 user: drh tags: wal)
14:58
Close all open database connections at the end of wal.test. (check-in: 3cc55a7568 user: dan tags: wal)
14:51
Fix a bug in the WAL checkpoint code causing SQLite to use an inconsistent cache in a subsequent transaction. (check-in: d1cadeed4e user: dan tags: wal)
08:47
Add tests to walthread.test. (check-in: 9e891e7543 user: dan tags: wal)
2010-04-28
18:17
Add a test to walthread.test for changing between WAL and rollback modes. (check-in: da229e44bd user: dan tags: wal)
17:49
Merge two "wal" leaves. (check-in: 13d2d5a66e user: dan tags: wal)
17:48
Change walthread.test so that tests can be run with either multiple threads or multiple processes. (check-in: 25f85f6872 user: dan tags: wal)
17:21
Changes to the interface design for the xShmLock method of the VFS. (check-in: 348409de26 user: drh tags: wal)
14:42
Rename the sqlite3_log_hook() to sqlite3_wal_hook(). Added comments to wal.h. (check-in: bbc385111b user: drh tags: wal)
2010-04-27
18:49
Merge two "wal" leaves. (check-in: 8c2d43babd user: dan tags: wal)
18:43
Add a test to check that a checkpointer releases its locks before returning, even if it has been prevented by a conflicting lock from checkpointing the database. (check-in: be44349d2b user: dan tags: wal)
14:37
Fix a problem with identifying a corrupt database in WAL mode. (check-in: c8658da446 user: dan tags: wal)
11:49
Add the xShmRelease() method to the VFS. The os_unix.c implementation of the shared memory logic is still non-functional. (check-in: ed715b47c5 user: drh tags: wal)
06:49
Run trans.test and avtrans.test as part of the "wal" permutation. (check-in: c889331051 user: dan tags: wal)
05:42
Fix a problem that occurs when one process causes the log-summary file to grow and then a second process attempts to read the database. (check-in: b51a5f8bc6 user: dan tags: wal)
01:56
Merge in recent changes from the trunk (check-in: 7a0ac682c3 user: drh tags: wal)
2010-04-26
19:17
Optimization: Convert an ORDER BY clause into a no-op if the query also contains a GROUP BY clause that will force the same output order. (check-in: ca9d86baf7 user: drh tags: trunk)
17:42
Do not attempt to set journal_mode=wal on :memory: or temp file databases. (check-in: 30d0134454 user: dan tags: wal)
17:36
Change the default_cache_size pragma to always store a positive value. (check-in: 36fb2cae75 user: drh tags: trunk)
17:30
Identify the SQLite version meta-value entry in the db-header output of showdb. (check-in: 245d934b72 user: drh tags: trunk)
16:57
Fixes for problems with small caches and SAVEPOINT rollback in WAL mode. (check-in: 6a944f028d user: dan tags: wal)
16:47
Further enhancements to the showdb utility: A page number followed by "b" causes a btree decoding to occur on the page. (check-in: 2ff824e58c user: drh tags: trunk)
15:44
Enhancements to the showdb.c utility program. Automatically detect the page size and adjust the display accordingly. Add the "dbheader" display option. (check-in: 23eb408b5d user: drh tags: trunk)
12:39
Add the "wal" permutation to run existing test files savepoint.test and savepoint2.test in WAL mode. (check-in: 205e5d8ac0 user: dan tags: wal)
10:40
Add mutexes to fix a race condition in wal.c. This isn't a very good fix. (check-in: 3d159939cc user: dan tags: wal)
00:19
Change the names of the log.c and log.h source files to wal.c and wal.h. (check-in: 56fe5d7624 user: drh tags: wal)
00:04
Begin moving WAL-specific I/O into the VFS. This checkin contains VFS infrastructure but it is untested and is not yet hooked up to the WAL. The version number is bumped to 3.7.0 because of the VFS extension. (check-in: f5e615c28c user: drh tags: wal)
2010-04-25
20:58
Remove an unreachable branch from the function initialization logic. (check-in: 064d3ddd61 user: drh tags: trunk)
2010-04-24
19:07
Add comment explaining checksum mechanism. (check-in: 3e9ef5153e user: dan tags: wal)
18:44
Fix bugs in WAL mode rollback. (check-in: 31215969f5 user: dan tags: wal)
14:33
Merge with [0291ed974d]. Merge with [0291ed974d]. Merge with [0291ed974d]. (check-in: a352f6285e user: dan tags: wal)
14:02
When commands such as ALTER TABLE and VACUUM use SQL internally, make sure they use only the built-in functions and not application-defined overrides for those functions. (check-in: 0291ed974d user: drh tags: trunk)
04:53
Merge with [e79dac3c2f]. (check-in: 1e793d3a6d user: dan tags: wal)
04:49
Reserve some space at the start of the log-summary file to apply locks to. (check-in: a031aa1fa0 user: dan tags: wal)
2010-04-23
19:15
Fixes and tests for backup of a WAL database. (check-in: 480d12db4c user: dan tags: wal)
14:29
Merge of notify.c changes from experimental. Reset stored blocking connection when registered unlock_notify callback is cleared. (check-in: e79dac3c2f user: shaneh tags: trunk)
11:44
Add very simple test cases for backup and VACUUM of WAL databases. More to come. (check-in: 1077d8130b user: dan tags: wal)
2010-04-22
19:14
Create a version of the log checksummer that works on big-endian platforms. Remove the 512KB size limit on the log-summary. (check-in: 5d6d4423d1 user: dan tags: wal)
06:27
Further tests and changes related to switching between WAL and rollback modes. (check-in: 1236318477 user: dan tags: wal)
2010-04-21
18:37
Tests for (and changes to) the code to switch between WAL and rollback modes. (check-in: 9f4f933f2c user: dan tags: wal)
11:43
If, after obtaining a SHARED lock, there exists a *-wal file in the file-system, use WAL mode. This is necessary to recover from a crash that damages the first page of the database file. (check-in: 33cabf271b user: dan tags: wal)
06:19
Minor changes to test cases to account for the fact that databases with read/write versions of 2 are now understood. (check-in: 278ed41e1d user: dan tags: wal)
2010-04-20
18:53
Use the read and write version fields of the database header to mark a database as operating in wal-mode. (check-in: 96bef18c14 user: dan tags: wal)
2010-04-19
18:03
Add the sqlite3_log_hook() interface for scheduling checkpoints. (check-in: 9bda601455 user: dan tags: wal)
2010-04-17
18:50
Add some comments regarding file-locks to log.c. (check-in: 9d51c3b754 user: dan tags: wal)
17:34
Do not sync any files in wal mode if "PRAGMA synchronous=off" is set. If files are synced, pass either SQLITE_SYNC_FULL or SQLITE_SYNC_NORMAL to the xSync() callback as configured by "PRAGMA fullfsync". (check-in: 0ae91b0008 user: dan tags: wal)
16:10
It is possible for sqlite3.pUnlockConnection to be non-NULL when sqlite3.pBlockingConnection is NULL, as the notify1.test script demonstrates. (Closed-Leaf check-in: 95ff76ef67 user: drh tags: experimental)
15:45
Merge with trunk commit [3e646e3f4c]. (check-in: 43463970f5 user: dan tags: wal)
15:42
In synchronous=normal mode, do not sync the log after every transaction. In synchronous=full mode, sync the log and add any extra frames required to avoid blast-radius related problems after each transaction. (check-in: 9bc9b68473 user: dan tags: wal)
12:53
Change sqlite3_step() so that it automatically calls sqlite3_reset() instead of returning SQLITE_MISUSE when invoked on a prepared statement that previously returned any value other than SQLITE_ROW. (check-in: 3e646e3f4c user: drh tags: trunk)
12:31
Enhancements to wal-mode locking scheme. (check-in: 8549c28649 user: dan tags: wal)
2010-04-16
22:05
Changes for branch coverage of notify.c. Fixed quirk of unlock_notify() where it would still think it was blocked after a callback was cleared (even after the transaction on the blocking connection was closed). (check-in: c54e8dad01 user: shaneh tags: experimental)
13:59
Change the log file format to include a small (12 byte) header at the start of the file. (check-in: 9865d14d60 user: dan tags: wal)
11:30
Fix bug in log recovery (last frame in log was being ignored). Also remove an incorrect assert statement. (check-in: 67d2a89ec2 user: dan tags: wal)
2010-04-15
23:24
Disable query flattening when the outer query is a compound SELECT and the inner query has a LIMIT clause. Ticket [02a8e81d44]. (check-in: f96782b389 user: drh tags: trunk)
16:45
Allow writers to write dirty pages to the log mid-transaction in order to free memory. (check-in: ecd828f969 user: dan tags: wal)
13:33
Merge two leaves on the WAL branch. (check-in: c9ed66cc39 user: dan tags: wal)
13:29
The query planner fix of check-in [33b1f584ef] should have been on the trunk. (check-in: f538d759be user: drh tags: trunk)
12:36
Fix a problem in the result set size estimation logic of the query planner - a problem introduced by the two previous changes. (check-in: 33b1f584ef user: drh tags: wal)
10:58
Change the way checksums are calculated. (check-in: 84955c2e9c user: dan tags: wal)
02:37
Bring over the recent query planner enhancements from the trunk. (check-in: 82969f27e5 user: drh tags: wal)
01:04
Further refinements to table order selection on join query planning. (check-in: defaf0d99a user: drh tags: trunk)
2010-04-14
19:01
The query planner uses non-indexable WHERE clause terms to reduce the estimated number of output rows, then uses the estimated number of output rows as a tie-breaker when choosing table order. (check-in: b87cb0c2bd user: drh tags: trunk)
18:50
Add tests and fix bugs in WAL locking mechanism. (check-in: c18077f246 user: dan tags: wal)
18:06
Add tests to check inter-process WAL locking. (check-in: 9435f31358 user: dan tags: wal)
15:49
Improve the logLockRegion() function in log.c. (check-in: 5e9dd3bd8e user: dan tags: wal)
11:23
Fixes for locking issues in WAL mode. (check-in: a9617eff39 user: dan tags: wal)
2010-04-13
19:27
Add experimental locking scheme. (check-in: 3f958e87c3 user: dan tags: wal)
15:30
Fix an uninitialized variable in readDbPage of pager.c. (check-in: f4e1150fed user: drh tags: wal)
11:56
Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint". (check-in: 27dc5977c1 user: dan tags: wal)
11:45
Fix other problems in the WAL test scripts. (check-in: dcb31181db user: dan tags: wal)
11:35
Fix test script issues preventing walthread.test from running. (check-in: d90b1dde07 user: dan tags: wal)
11:18
Fix a pager bug introduced by the wal code. (check-in: 4a0b29dc5e user: dan tags: wal)
06:20
Sync wal branch with [012cf101bf]. (check-in: 9d690f24f6 user: dan tags: wal)
06:18
Test that the rollback-hook is invoked if a commit-hook implementation returns non-zero (causing a rollback). Remove documentation comment that says otherwise from sqlite.h.in. (check-in: 012cf101bf user: dan tags: trunk)
2010-04-12
20:54
Add e_fts3.test to the set of tests excluded from the inmemory_journal exclusion list, since it does simulated OOM errors which trigger I/O errors and SQLite is unable to recover from I/O errors without a persistent journal. (check-in: e7e7127f0b user: drh tags: trunk)
19:44
Recent changes cause the xSync method of the memory journal implementation to be used, so remove the assert(0). (check-in: 1f2cb94028 user: drh tags: trunk)
19:43
Clear a global variable in e_fts3.test before it is used. (check-in: ae89dfd26b user: drh tags: trunk)
19:32
Remove duplicate secure_delete pragma implemention. (check-in: c15fda145b user: drh tags: wal)
19:05
Add "log.h", which should have been part of the previous commit. (check-in: 8de9f01004 user: dan tags: wal)
19:00
Import experimental write-ahead-logging code. (check-in: 409d61baeb user: dan tags: wal)
17:08
Fix a problem where a process in exclusive mode could delete a hot-journal file without rolling it back from within sqlite3_close() or DETACH. This problem was introduced by commits from the past few days; it is not present in any release. (check-in: 51a6139508 user: dan tags: trunk)
14:51
Reset the simulated device in the test harness to its default configuration whenever it is restarted. (check-in: 562d20e662 user: drh tags: trunk)
2010-04-10
17:52
Fix issues and clarify the operation of pager_playback_one_page(). A block comment in pager.c identifies 13 invariants on the pager subsystem. Ticket [9d68c883132c8]. (check-in: 0906597698 user: drh tags: trunk)
2010-04-09
23:05
Add a test case for the OOM-fault corruption issue. Ticket [9d68c883132c8]. (check-in: 0a64a937b5 user: drh tags: trunk)
15:34
Candidate fix for a pager bug associated with sqlite3PagerMovepage(). (check-in: 8c046eb6d1 user: drh tags: trunk)
09:14
Avoid unnecessary calls to sqlite3_step() with null prepared statements while parsing the schema. (check-in: ae04d2d15d user: drh tags: trunk)
2010-04-08
17:35
Fix a typo in a comment. No changes to code. (check-in: 332cb55113 user: drh tags: trunk)
17:28
Fix code coverage problems in where.c. (check-in: b04a528249 user: drh tags: trunk)
16:30
Additional automatic index tests. (check-in: 99d8e325e9 user: drh tags: trunk)
15:01
New test cases for automatic indices. New testcase() macros associated with column-used bitmasks. (check-in: e1aa48ace7 user: drh tags: trunk)
15:01
Fix the computation of the number of rows in a table during automatic index generation. (check-in: edeab06a50 user: drh tags: trunk)
14:38
Fix an integer overflow bug in the automatic index logic. The bug was detected by the testcase() macros added in the previous check-in. Also add some more testcase() macros, since this issue points up their importance. (check-in: af97b4881a user: drh tags: trunk)
14:15
Add testcase() macros to the automatic index logic to insure that boundary cases are tested. (check-in: 7286547847 user: drh tags: trunk)
11:35
Make sure F_OK, R_OK, and W_OK are defined in test_demovfs.c. Define them manually if they are not. This is necessary to get the module to compile on some systems. (check-in: 7c8afc3272 user: drh tags: trunk)
01:16
Merge automatic index changes into the trunk. (check-in: bf7b8d8636 user: drh tags: trunk)
00:40
When constructing automatic indices do not include the same column more than once. (Closed-Leaf check-in: d067d9f7a9 user: drh tags: experimental)
2010-04-07
20:32
Pull over the latest changes from the trunk. (check-in: e388fe8be8 user: drh tags: experimental)
20:29
When rolling back a savepoint to the beginning of the transaction, make sure to initialize the database size in the btree layer correctly even if the database size field of the header is zeroed. (check-in: a3540c6acf user: drh tags: trunk)
19:32
Add an interface to the SQLITE_STMTSTATUS_AUTOINDEX status information to the TCL bindings. Add some simple automatic index test cases. (check-in: 1f40441204 user: drh tags: experimental)
16:54
Wrap all automatic index changes inside SQLITE_OMIT_AUTOMATIC_INDEX. Add the automatic_index PRAGMA to turn it on and off. (check-in: a811a47fbe user: drh tags: experimental)
14:59
Make sure that all automatic indices are covering indices. Otherwise, the table and index might be used together in a query but the table could get out of sync with the automatic index through out-of-band changes. (check-in: 2364313142 user: drh tags: experimental)
14:33
Enhance comments on the SrcList object definition to better explain the operation of the SrcList.a[].colUsed field. No changes to code. (check-in: c0f67ea131 user: drh tags: experimental)
14:32
Fix the trace output of the OP_Function opcode to show the correct register numbers. (check-in: 064c283eee user: drh tags: experimental)
07:57
Add file test_demovfs.c, containing a simple VFS implementation that demonstrates how writes to the journal file may be safely buffered by the VFS layer to improve performance on some embedded systems. (check-in: af3b72d94a user: dan tags: trunk)
2010-04-06
22:33
Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. (check-in: abbf16e5e7 user: drh tags: experimental)
18:51
Runs quicktest without hitting an assert now. Some tests get unexpected results still and there is a memory leak. (check-in: a8224448cc user: drh tags: experimental)
18:28
Progress toward getting automatic indices to work. Still failing in corner cases. (check-in: ac6d0fba78 user: drh tags: experimental)
15:57
Automatically generate transient indices for tables in joins that would otherwise have to use a full table scan. (check-in: 1b2a04125f user: drh tags: experimental)
2010-04-05
15:11
Minor comment changes to the OP_OpenEphemeral header. No changes to code. (check-in: 8e1d7ef47f user: drh tags: trunk)
2010-04-03
13:08
Silently abandon a rollback if the journal has been truncated. (check-in: 7626f6c9ea user: drh tags: trunk)
2010-04-02
13:25
Check for a failure in the call to sqlite3PagerPagecount() from within sqlite3PagerWrite(). (Error discovered by valgrind.) (check-in: d64d181c79 user: drh tags: trunk)
12:55
Take care to avoid a buffer over-read when adding a KEYINFO structure to the P4 parameter of an opcode. (check-in: 937b931a7c user: drh tags: trunk)
12:46
If the size of the database according to the header is larger than the actual database file size, report that the database is corrupt. (check-in: 8eb1f2443f user: drh tags: trunk)
03:39
Pager changes for code coverage testing. (check-in: b04a45ea97 user: drh tags: trunk)
2010-04-01
18:33
Disable the corruptE.test script when ENABLE_OVERSIZE_CELL_CHECK is on. (check-in: 1dc4f9fe9b user: drh tags: trunk)
16:15
Zero the filesize-in-header word for bigfile.tcl. Remove bigfile.tcl from the journaltest permutation. (check-in: 63610c71ca user: drh tags: trunk)
13:41
Do not journal the content of freelist leaf pages. This restores an optimization that was accidently undone by check-in [12f7346c13] on 2009-01-20. (check-in: b1e7a1a677 user: drh tags: trunk)
02:47
Remove a NEVER in sqlite3PagerPagecount() that can in fact be true. (check-in: 8f00533782 user: drh tags: trunk)
02:22
Restore the size information in the BtShared structure when a transaction rolls back. (check-in: 802aeb30c9 user: drh tags: trunk)
2010-03-31
23:20
Make sure an OOM error on sqlite3PagerPagecount() is detected and reported out to the interface. (check-in: 8aecf302a5 user: drh tags: trunk)
20:29
Report corruption if a database contains a reference that is out of range according to the filesize-in-header database size. (check-in: a91db0b1cd user: drh tags: trunk)
17:47
Clarification of the implementation of SQLITE_STMTSTATUS_FULLSCAN_STEP. No logical code changes - just commenting and layout changes to improve readability. (check-in: 06b9ca3225 user: drh tags: trunk)
15:02
Clear the column cache before populating aggregate accumulator registers. Fix fo r [883034dcb5]. (check-in: ffc23409c7 user: dan tags: trunk)
13:57
Documentation enhancements for the sqlite3_log() interface. No functional changes to code. (check-in: ba13a11108 user: drh tags: trunk)
11:56
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: b51fcac9fb user: drh tags: branch-3.6.23)
11:52
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: 0077ed5cf4 user: drh tags: trunk)
02:31
Increase test coverage following the introduction of the new filesize-in-header logic. (check-in: dbc2c3c014 user: drh tags: trunk)
2010-03-30
22:58
Continuing refinements to the filesize-in-header enhancement. (check-in: 79e22b9503 user: drh tags: trunk)
15:51
Add a NEVER macro around a test in btree.c that can not longer be true. (check-in: c117f99236 user: drh tags: trunk)
12:40
Do not crash when compiling an "INSERT INTO tbl DEFAULT VALUES" when tbl has either BEFORE or INSTEAD OF triggers attached to it. Ticket [f3162063fd]. (check-in: ca359a3e80 user: dan tags: trunk)
11:57
Change an #if into an #ifdef. (check-in: 371bab5d65 user: drh tags: trunk)
2010-03-29
21:22
Pull the experimental file-size-in-header changes into the trunk. (check-in: 0092b36c7b user: drh tags: trunk)
21:13
The btree layer now tracks when a database is empty at the start of a transaction and rolls back to that state. (Closed-Leaf check-in: 01ef6c1944 user: drh tags: experimental)
19:36
Fix issues with the io.test script. There is still a problem with a ROLLBACK TO not working on an initially empty database files. And much more testing is needed. (check-in: 09786e2a51 user: drh tags: experimental)
2010-03-27
17:12
Experimental changes that cause SQLite to use bytes 28..31 of the database header to determine the database size, rather than using the actual database size. This allows database space to be preallocated. (check-in: b844ac6fcb user: drh tags: experimental)
09:44
Increase the estimated cost of using a virtual table as the outer loop of a join when there exists an ORDER BY clause that is not satisfied by the virtual table. Fix for [775b39dd3c]. (check-in: 9e075e70f0 user: dan tags: trunk)
2010-03-26
22:28
Version 3.6.23.1 (check-in: b078b588d6 user: drh tags: release, branch-3.6.23)
21:53
Pull in other fixes from the trunk: check-ins [bea9258643], [f186b6a619], and [bb591802ff]. (check-in: b1f342a664 user: drh tags: branch-3.6.23)
21:48
Fix to the crash8.test test script. (check-in: f18a129a7a user: drh tags: branch-3.6.23)
17:42
Enhance FTS3 to take advantage of the MAX() optimization. Cherrypick of [b7e42ae774]. (check-in: 4b65b48051 user: drh tags: branch-3.6.23)
17:40
Correctly handle strings with zero-length tokens in the FTS3 offsets() function. This is a cherrypick of [d37034f7fc]. (check-in: ff6ae4f0e4 user: drh tags: branch-3.6.23)
17:37
After any rollback that modifies the database file, sync the database before deleting the rollback journal. This is a cherry-pick merge of check-ins [b21b911f23] and [f2326dad4e] (check-in: ca0bc2a22e user: drh tags: branch-3.6.23)
01:54
Fix OOM error on ANALYZE with STAT2 enabled with zero-length data. Ticket [cbd054fa6b]. (check-in: c33b38b59f user: shaneh tags: trunk)
2010-03-24
15:57
Fix for [9861b74ab9]. Correctly handle strings with zero tokens in the fts3 offsets() function. (check-in: d37034f7fc user: dan tags: trunk)
11:55
Attempt to suppress a warning from Borland Code Guard. (check-in: be27897991 user: drh tags: trunk)
2010-03-23
18:24
More commenting and documentation enhancements in FTS3. (check-in: 892e286709 user: drh tags: trunk)
15:46
Fix up obsolete comments in FTS3 to conform to the latest nomenclature. Add new comments to better explain FTS3 operation. (check-in: 3e4a008217 user: drh tags: trunk)
15:29
Close the auxiliary database db2 at the end of the crash8.test script. (check-in: 0fbdc431e8 user: drh tags: trunk)
2010-03-22
23:55
Sync the database file after a rollback. This is a cherrypick merge of check-in [b21b911f23]. (Leaf check-in: 82dd61fccf user: drh tags: branch-3.6.22)
17:38
Add an extra test case for crash recovery. (check-in: f2326dad4e user: dan tags: trunk)
17:13
After a rollback that writes or truncates the database file, sync the database file before invalidating the journal contents. Fix for [015d3820f2]. (check-in: b21b911f23 user: dan tags: trunk)
15:47
Disable the "init.test" test script when compiled with SQLITE_THREADSAFE=0. (check-in: ad68fa65bb user: drh tags: trunk)
04:32
Change the formatting of the preprocessor macros surrounding the compileoption interface in sqlite.h.in. This is so the documentation produced by parsing this part of sqlite.h.in is formatted similarly to the docs for the deprecated interfaces (with the #ifndef visible on the webpage). (check-in: 161958d11f user: dan tags: trunk)
2010-03-19
19:23
Put an ALWAYS() around a condition in pcache.c that must always be true in the current implementation. (check-in: 88810cd091 user: drh tags: trunk)
19:02
Have the xUpdate() method of the rtree module virtual table implementation set the *pRowid output variable when inserting a row. Fix for [dd3ba6063a]. (check-in: f31d22489d user: dan tags: trunk)
16:55
Store the SQLite version number of the last writer in bytes 96..99 of the header. (check-in: 146d4f5d34 user: drh tags: trunk)
16:52
Make sure the in-journal boolean vector is cleared and released when ending a transaction. This fixes an obscure problem with the previous check-in. (check-in: 69d749d93d user: drh tags: trunk)
15:48
Do not create, open, or initialize the rollback journal until something actually needs to be written into the journal. That way, expensive filesystem operations are avoided if the transaction ends up being a no-op. (check-in: b78e58ae15 user: drh tags: trunk)
13:59
Rewrite a couple of queries used internally by FTS3 to take advantage of the "SELECT max(x) FROM ..." optimization. (check-in: b7e42ae774 user: dan tags: trunk)
2010-03-18
16:34
Mark internal routines as "static" in FTS3. Ticket [b1552d0fa7]. (check-in: 39b34ac4a7 user: drh tags: trunk)
2010-03-15
20:53
Improved error message when the right-hand operand of MATCH in FTS3 is not a valid search expression. Ticket [170872f1c3]. (check-in: bea9258643 user: drh tags: trunk)
19:27
Fix FTS3 so that it does not run illegal SQL and cause a spurious log message. Ticket [42d45a693e6]. (check-in: f186b6a619 user: drh tags: trunk)
2010-03-13
02:15
Store the database size in pages in bytes 28..31 of the header. Currently this is for forensic use only, but it might be used in the future. (check-in: 59f75bba02 user: drh tags: trunk)
2010-03-12
16:32
Add assert()s to mem2.c (activated by SQLITE_MEMDEBUG) which verify that memory alloctions that might have come from lookaside are always freed using a lookaside-aware free routine. (check-in: c2af2164cf user: drh tags: trunk)
2010-03-10
23:13
Move the ctime.c source module near the beginning of the list of files inserted into the amalgamation so that #defines that are overridden in other modules will not effect the values returned by sqlite3_compiletime_used(). (check-in: bb591802ff user: drh tags: trunk)
21:42
Add the SQLITE_DBSTATUS_CACHE_SIZE verb for sqlite3_db_status(). The highwater mark does not yet work on this verb. (check-in: 418c6d8113 user: drh tags: trunk)
20:06
Remove the "experimental" markings on most interfaces that have been around for multiple releases. (check-in: d670e8bd51 user: drh tags: trunk)
14:06
Fix typo in a comment in the sqliteInt.h. No changes to code. (check-in: 1716821ddb user: drh tags: trunk)
2010-03-09
19:31
Version 3.6.23 (check-in: 4ae453ea7b user: drh tags: trunk, release)
15:10
Fix a test script issue affecting the TCL backup tests under Windows. (check-in: 20c400e73a user: shaneh tags: trunk)
14:41
Version 3.6.23 release candidate 4 (check-in: 3445eda029 user: shaneh tags: trunk)
14:41
Minor changes to silence compiler warnings on various MSVC builds. (check-in: 115c978b6b user: shaneh tags: trunk)
13:12
Version 3.6.23 release candidate 3 (check-in: 747baea5c3 user: drh tags: trunk)
13:02
Check-in [87a6a9970b] did not completely disable FTS4. This check-in aims to finish the job. (check-in: 0259b6299e user: drh tags: trunk)
12:35
Version 3.6.23 release candidate 2 (check-in: 73f4d292dc user: drh tags: trunk)
12:35
Disable FTS4 (which is incomplete and not ready for publication) to prevent accidental use. (check-in: 87a6a9970b user: drh tags: trunk)
05:01
Version 3.6.23 release candidate 1 (check-in: 30e9f966e7 user: drh tags: trunk)
2010-03-08
21:40
Add NEVER and assert macros and explanatory comments for unreachable conditions. (check-in: ffb6596e6c user: drh tags: trunk)
15:17
Correct an assert() in mem2.c (test code only). (check-in: 1a88e31b03 user: dan tags: trunk)
10:32
Do not run the stmt.test script as part of the inmemory_journal permutation. (check-in: 049cadf92b user: dan tags: trunk)
2010-03-05
20:17
Make sure the dbFileVers field in the Pager object is properly initialized even if there is an I/O error while reading its content off of disk. (check-in: 81ff698f62 user: drh tags: trunk)
18:46
Change a condition in sqlite3VdbeMemShallowCopy() to avoid accessing an unitialized variable (doing so was not dangerous, but caused a valgrind error). (check-in: 4793c381c6 user: dan tags: trunk)
17:27
Fix a one byte buffer overread in fts3. (check-in: 6e3e014af9 user: dan tags: trunk)
16:32
Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4]. (check-in: 8858042fa1 user: dan tags: trunk)
13:53
Adjustments to #ifdefs so that the #include of <sys/mount.h> is not included twice, because that confuses the amalgamation builder. (check-in: 27413fc8dd user: drh tags: trunk)
13:41
Adjust some #ifdefs so that the build works on Mac both with and without SQLITE_ENABLE_LOCKING_STYLE. (check-in: 0cc981f1cc user: drh tags: trunk)
2010-03-04
22:36
Second thoughts: Let Tiger users set SQLITE_ENABLE_LOCKING_STYLE=0. Was: Change SQLITE_ENABLE_LOCKING_STYLE to default off, even on Macs, since older Macs (Tiger) cannot compile the latest proxy locking sources. (Closed-Leaf check-in: 1a0fa8d19d user: drh tags: mistake)
17:58
Fix for [9abd6aa831]. Do not overread a buffer used for an %q or %w conversion with a precision specifier. (check-in: 5e472896e0 user: dan tags: trunk)
17:11
Fix an uninitialized variable in printf when compiling with SQLITE_OMIT_FLOATING_POINT. (check-in: 14ad62b9a5 user: drh tags: trunk)
16:12
Suppress harmless compiler warnings. (check-in: fc2c63ac78 user: drh tags: trunk)
00:53
Increase the maximum length of an sqlite3_log() result string. Provide more details on the statement abort log message. (check-in: 5322d1df5b user: drh tags: trunk)
2010-03-03
22:43
Pull the latest Lemon updates from the lemon-update-2010 branch into the trunk. (check-in: 84d760bfc1 user: drh tags: trunk)
22:40
Modify the sqlite3_log() interface and implementation so that it never uses dynamic memory allocation - to avoid deadlocking when called while holding the memory allocator mutex. Cherry-pick merge of [28d1bc98d6]. (check-in: 6f368b5448 user: drh tags: branch-3.6.22)
22:25
Modify the sqlite3_log() interface and implementation so that it never uses dynamic memory allocation - to avoid deadlocking when called while holding the memory allocator mutex. (check-in: 28d1bc98d6 user: drh tags: trunk)
17:09
Fixed compiler warning on Visual Studio. (check-in: 83495128c8 user: icculus tags: lemon-update-2010)
17:06
Whoops, that shouldn't have been in the merge. Removed buggy code. (check-in: 6437280032 user: icculus tags: lemon-update-2010)
17:00
Use Strsafe() instead of strdup(). Fixes Visual Studio complaining. (check-in: 89d8f98ea6 user: icculus tags: lemon-update-2010)
16:54
Merged trunk to lemon-update-2010 branch. (check-in: 88b466bae4 user: icculus tags: lemon-update-2010)
16:02
Fix some extra instances of the constants addressed by [83e47ca006]. (check-in: 0354ab279f user: dan tags: trunk)
15:18
Factor out constant expressions in sqlite3GetVarint() to work around nuisance warning messages from the RVT compiler. (check-in: 83e47ca006 user: drh tags: trunk)
14:23
Modify the command line tool to disable all mutexes. The command line tool is single-threaded. (check-in: 00e5679047 user: dan tags: trunk)
08:18
Fix another instance of the same warning-inducing expression in util.c. (Closed-Leaf check-in: 80c64e16e3 user: dan tags: mistake)
08:12
Silence a compiler warning by using a constant value instead of a constant expression that some compilers mistakenly believe causes bitshift overflow. (check-in: 587109c81a user: dan tags: mistake)
00:02
When TEMP files are in memory, also put the massive TEMP file used by the VACUUM command in memory. This is a cherry-pick merge of [9daf4e7d07] (check-in: e534223435 user: drh tags: branch-3.6.22)
2010-03-02
23:34
When TEMP files are in memory, also put the massive TEMP file used by the VACUUM command in memory. (check-in: 9daf4e7d07 user: drh tags: trunk)
2010-02-26
22:05
fix merge error and compiler warning (check-in: 5c0afe70a5 user: adam tags: apple-osx)
20:54
More double free paranoia (check-in: 62dfb44b3b user: adam tags: apple-osx)
16:37
Rename the sqlite_compile_option_*() SQL functions to sqlite_compileoption_*() for consistency with the C/C++ interface. (check-in: dd4962aa34 user: drh tags: trunk)
15:39
Remove the compile_option pragma (retaining compile_options - with an "s"). Updates to documentation. (check-in: 733778df99 user: drh tags: trunk)
15:09
Avoid a buffer overwrite that can occur with a corrupt database if secure-delete is enabled. (check-in: 7bdb1e05fa user: dan tags: trunk)
13:07
Avoid incorrect compiler warnings by doing a couple of needless variable initializations. (check-in: 8f29490da6 user: drh tags: trunk)
12:58
Increase the version number to 3.6.23 in preparation for the next release. (check-in: b5835d3e3d user: drh tags: trunk)
01:46
Minor changes to silence some compiler warnings with MSVC. (check-in: 4927c62d62 user: shaneh tags: trunk)
2010-02-25
23:44
Fix to the database connection validity checker. Other test coverage enhancements. (check-in: 0f6291bbbd user: drh tags: trunk)
21:27
Test coverage enhancements. Additional documentation detail on the new sqlite3_log() interface. (check-in: d986e92893 user: drh tags: trunk)
19:09
Add experimental fix for corruption detection problem. This may well be revised yet. (check-in: 1cc4be7ebc user: dan tags: trunk)
16:09
Fixed numbering of a few tests; minor tweaks on others; added a couple new tests to stress previous simplifications to compile-time option reporting functions. (check-in: 9b18dfd19e user: shaneh tags: trunk)
15:28
Minor simplifications to the compile-time option reporting functions and pragmas to facilitate coverage testing. (check-in: 633d874783 user: drh tags: trunk)
14:56
Expire pragma statements when reset, even if they were not run to completion. (check-in: b8fbf4275b user: drh tags: branch-3.6.22)
14:47
Expire pragma statements when reset, even if they were not run to completion. (check-in: 78351d289b user: drh tags: trunk)
04:15
Make sure the ON clause of a LEFT JOIN does not cause an index to be used to speed access to a table to the left of the join. Ticket [ebdbadade5] (check-in: f0ae251abb user: drh tags: trunk)
02:32
Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. (check-in: 46f406b202 user: drh tags: branch-3.6.22)
02:11
Fix a segfault that is possible for an OOM fault in ATTACH when in shared-cache mode. This is a cherrypick merge of check-in [e37137376a]. (check-in: f73cc0e9af user: drh tags: branch-3.6.22)
02:04
Enhance integrity_check to detect out-of-order rowids. This is a cherrypick merge of check-in [cae47c5b09]. (check-in: ecd22ef34d user: drh tags: branch-3.6.22)
01:54
Merge in the fix for VACUUM on auto_vacuumed databases with large schemas. Check-in [86d50ce57f]. Ticket [da1151f97df]. (check-in: ce624e39c2 user: drh tags: branch-3.6.22)
01:47
Start a new branch for release 3.6.22 plus limited enhancements and fixes. This first check-in includes the performance enhancements of check-ins [26cb1df735], [61a2c8d4d6], and [27dc5b1c52] (check-in: 9588259882 user: drh tags: branch-3.6.22)
2010-02-24
21:44
Add testcase() macros beside each sqlite3_log() call to make sure it is tested with both logging enable and disabled. (check-in: 1168763d2c user: drh tags: trunk)
19:36
Changes to compile time option diags to report values for some defines. Added test cases to TCL test suite (ctime.test). (check-in: dd480f62af user: shaneh tags: trunk)
19:23
Add a sqlite3_log() call on anonymous constraint failures. Fix the output of test cases having to do with improved reprepare reporting. Fix the VACUUM command to report more helpful error messages when things go wrong. (check-in: 69a493182f user: drh tags: trunk)
18:40
Fix an incorrect ALWAYS() macro in vdbeapi.c. Fix the output of a few test cases that changed due to better error propagation out of reprepare. (check-in: a8c984c1d6 user: drh tags: trunk)
18:25
Remove an unused variable from rtree. (check-in: 8e60d3995a user: drh tags: trunk)
17:15
Enhancements to the way errors are reported up when an automatic statement reprepare fails. (check-in: 1a6d4bb130 user: drh tags: trunk)
15:10
Fix an assertion fault that occurs when two different virtual tables are used in a single UPDATE statement. Ticket [d2f02d37f52b]. (check-in: ff61e0fd80 user: drh tags: trunk)
2010-02-23
21:08
Fix the stmt.test test script so that it works with SQLITE_TEMP_STORE=3. (check-in: 8bf710ce6d user: drh tags: trunk)
20:32
Merge the compile-time option introspection interfaces into the trunk. (check-in: 9f429434c0 user: drh tags: trunk)
20:11
Continuing improvements to error reporting and the sqlite3_log() routine. (check-in: edea3bb740 user: drh tags: trunk)
20:08
Refactored compile time option diagnostic support to use strings identifiers instead of bitmask. (Closed-Leaf check-in: 76a0294ab4 user: shaneh tags: compile_opts)
18:05
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: e37137376a user: dan tags: trunk)
17:36
Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: 7c4cca6d1a user: drh tags: trunk)
10:56
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: 875f8fa327 user: dan tags: compile_opts)
05:17
Removed checking of some compile options from the sqlite3_compileopts() API. (check-in: 833da702ff user: shaneh tags: compile_opts)
04:19
Test new api to report which options (defines) were used to compile SQLite. (check-in: 84c9756993 user: shaneh tags: compile_opts)
01:47
Add the ".log" command to the shell. This shows that some errors are logged multiple times and other errors are never logged at all. (check-in: 6d910245ad user: drh tags: trunk)
01:01
Remove the ".genfkey" command from the shell. We've had foreign-key support in the core since 3.6.19. Anyone who still needs the simulated foreign-key triggers can always generate them with an older version of the shell. (check-in: c4401fc93b user: drh tags: trunk)
2010-02-22
23:17
Fix an assertion-fault/segfault problem that comes up when trying to VACUUM an auto-vacuumed database with a large schema. Ticket [da1151f97df244]. (check-in: 86d50ce57f user: drh tags: trunk)
19:37
Merge in the massive clean-up and ANSI-fication of Lemon carried out by Ryan Gordon. There are no functional changes to SQLite itself - Lemon still generates exactly the same parsing automaton from exactly the same grammar. (check-in: 1e8b842039 user: drh tags: trunk)
19:32
Log all error messages if logging is enabled. (check-in: a8076aede3 user: drh tags: trunk)
2010-02-19
04:28
Changes to pragma integrity_check to check rowid order. Tests of same in corruptE.test. (check-in: cae47c5b09 user: shaneh tags: trunk)
2010-02-18
18:45
Add a new, experimental logging interface designed to aid in debugging of deeply embedded projects that use SQLite. (check-in: 103321e37a user: drh tags: trunk)
08:19
Allow statements like "REPLACE INTO tbl(rowid) VALUES(...)" to run without a statement journal as long as there are no triggers, foreign keys or indexes. (check-in: 0e42258040 user: dan tags: trunk)
2010-02-17
20:31
Report error if the grammar has multiple %type lines for the same nonterminal. (check-in: 721f33e722 user: icculus tags: lemon-update-2010)
20:22
Fixed % formatting in some printf-style strings. (check-in: f96add898f user: icculus tags: lemon-update-2010)
20:19
Corrected error message (cut-and-paste bug). (check-in: b3839f2aad user: icculus tags: lemon-update-2010)
19:34
Merge latest changes from the trunk into the apple-osx branch. (check-in: 4b72e39bd0 user: drh tags: apple-osx)
17:48
Consistent use of #ifdef for SQLITE_HAS_CODEC to avoid confusion. (check-in: 34a3413a53 user: shaneh tags: trunk)
05:40
Removed unused variables. (check-in: ca570a02f5 user: icculus tags: lemon-update-2010)
04:19
Avoid using the internal printf routine for round(x,y) in the common case where y==0. (check-in: d76ad8b3c4 user: shaneh tags: trunk)
03:57
More rounding tests. (check-in: 3863638b8c user: shaneh tags: trunk)
2010-02-16
22:06
Remove duplicated assignment in realloc. (check-in: c419955df0 user: shaneh tags: trunk)
22:00
Added additional rounding tests. (check-in: b8ee76bc1f user: shaneh tags: trunk)
16:09
Removed %expect directive, on drh's advice. (check-in: b43ac3309e user: icculus tags: lemon-update-2010)
16:07
Patched to compile. Accidentally removed va_list declaration. (check-in: 673d470c0c user: icculus tags: lemon-update-2010)
12:18
Change a C++ style comment in os_unix.c to use normal C style commenting. (check-in: 7a1933097f user: dan tags: trunk)
10:59
Fix for [e9a9fde1f4]. When opening an existing rtree, determine the node size by inspecting the root node of the r-tree structure (instead of assuming it is a function of the page-size). (check-in: ebc9433fdd user: dan tags: trunk)
2010-02-15
18:03
Fix the ALTER TABLE RENAME command so that it converts FOREIGN KEY constraints in ATTACH-ed and in TEMP tables as well as in the main database. Ticket [13336e9c3c8c3f]. (check-in: ab197d0aaf user: drh tags: trunk)
16:54
When creating a trigger on a main database table when there is a TEMP table with the same name, make sure the trigger is bound to the main table. Ticket [985771e11612]. (check-in: ec914af326 user: drh tags: trunk)
15:47
Fix a compiler warning in shell.c. Updates to comments in trigger.c. (check-in: c727601eec user: drh tags: trunk)
15:17
Fix a typo in the documentation for the OP_OpenPseudo opcode. (check-in: 9acfb06940 user: drh tags: trunk)
00:01
Removed the 80-char line formatting for ErrorMsg(), on dhr's suggestion. (check-in: 132ea4e5d7 user: icculus tags: lemon-update-2010)
2010-02-14
17:14
Make Lemon able to compile as C++ code. (check-in: 75a1060b29 user: icculus tags: lemon-update-2010)
05:42
Added option to not clip error output.

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

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

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

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

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

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

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

2010-02-13
02:31
Merged tracing and initialization changes from mutex_unix.c into mutex_w32.c. (check-in: 942aa1f6a9 user: shaneh tags: trunk)
2010-02-12
22:43
Added experimental mutex implementation using interlocked ops and spin locks. (Closed-Leaf check-in: f3676b243d user: shaneh tags: experimental)
19:46
Enhancements to the secure_delete pragma to make it easier to use. (check-in: 2bb38bb96f user: drh tags: trunk)
18:18
Allow the secure-delete setting to be changed at run-time using a pragma. The SQLITE_SECURE_DELETE compile-time option determines the default setting. (check-in: f72f8a870a user: drh tags: trunk)
2010-02-10
05:33
Fix a segfault in fts3 that may occur if the snippet, offsets or matchinfo functions are used in a query that does not contain a MATCH clause. (check-in: 14ab536a96 user: dan tags: trunk)
2010-02-05
18:00
Make sure file descriptors are closed before unlinking in VxWorks. (check-in: f64b81f13d user: drh tags: trunk)
16:28
Avoid truncating non-in-memory sub-journals when releasing a savepoint for a small performance improvement. (check-in: 27dc5b1c52 user: shaneh tags: trunk)
14:12
Remove the use of 64-bit math in the offset computations of the OP_Column opcode for a small performance improvement. (check-in: 61a2c8d4d6 user: drh tags: trunk)
2010-02-04
17:38
Fix a performance glitch that appears for large transactions. (check-in: 26cb1df735 user: drh tags: trunk)
2010-02-03
19:55
Add a new full-text search variant that tracks the total number of documents and document sizes, to make ranking search results easier. Currently called FTS4. (check-in: 1b6e6094c8 user: drh tags: trunk)
2010-02-01
15:47
Add log.c. (Closed-Leaf check-in: 7b31373f6f user: dan tags: wal)
15:47
Create new branch named "wal" (check-in: 784b718ec3 user: dan tags: wal)
2010-01-31
15:14
Fix a C++-ism that snuck into sqlite3_finalize(). (check-in: fb96f2a2c6 user: drh tags: trunk)
14:18
If an OOM occurs while setting the page size for the TEMP database, be sure that error gets reported back out to the interface layer. (check-in: 6487e70a1e user: drh tags: trunk)
2010-01-28
19:56
Tweaks for consistency to the SEE and CEROD API declarations in sqlite3.h. (check-in: 299f74567b user: shaneh tags: trunk)
2010-01-26
01:25
Make the TEMP file tables use the page size set for the main database. Ticket [b80eeab588c4]. Also copy over the changes from apple-osx check-in [7c3bede3f2]. (check-in: 5dcfb0c9e4 user: drh tags: trunk)
01:14
Updated open mask to include SQLITE_OPEN_AUTOPROXY (check-in: 7c3bede3f2 user: adam tags: apple-osx)
2010-01-22
15:48
Fix two similar problems in fts3 that meant that an OOM error could cause a memory leak. (check-in: 701ef64b3d user: dan tags: trunk)
2010-01-21
23:11
Fix a segfault that can occur when the LHS of a LIKE operator has an undefined collating sequence. Ticket [1258875e07553]. (check-in: a82e6b4585 user: drh tags: trunk)
01:53
Redesign the string to numeric value caster so that it is more likely to work on unusual floating point hardware. (check-in: 8bb1104c6f user: drh tags: trunk)
2010-01-20
14:25
Fix a problem with handling OOM errors in fts3. (check-in: f9c54e95ec user: dan tags: trunk)
13:20
Align the os_unix.c source file with the version found on trunk. (check-in: fa0f6c140e user: drh tags: apple-osx)
13:07
Move the Apple OS-X VFS changes into the trunk. (check-in: 571594bfbe user: drh tags: trunk)
01:26
Update the Apple OS-X branch to include all of the latest changes in trunk. (check-in: 96499b1dd6 user: drh tags: apple-osx)
01:20
Manually copy over the rebustness fixes from the apple-osx branch. (check-in: 095c74ea62 user: drh tags: trunk)
2010-01-19
23:50
robustness fixes for preventing a finalized statement from being reused (check-in: a7a0c8d644 user: adam tags: apple-osx)
2010-01-18
18:17
Fix a problem with the CLI where not all SQL commands were being echoed. Added tests of same to tools/shell2.test. Ticket [eb620916be]. (check-in: 7080ae3bc3 user: shaneh tags: trunk)
2010-01-15
17:33
Fix test numbering in fts3snippet.test. (check-in: 34f6854685 user: dan tags: trunk)
17:25
Add coverage tests for fts3_snippet.c. Also fixes related to the same. (check-in: 5e9d8ccae9 user: dan tags: trunk)
2010-01-14
11:45
Add a test to e_fts3.test for the matchinfo example in fts3.html. (check-in: e5336edc55 user: dan tags: trunk)
11:17
Fix some matchinfo related test problems in fts3rnd.test. (check-in: da7abe0588 user: dan tags: trunk)
00:39
Comment cleanup in sqliteInt.h. (check-in: 67c3aea563 user: drh tags: trunk)
2010-01-13
17:39
Make the sqlite3IsNaN() function a macro that evaluates to FALSE when compiled with SQLITE_OMIT_FLOATING_POINT. (check-in: 56f232d562 user: drh tags: trunk)
16:43
When SQLITE_OMIT_FLOATING_POINT is defined, the floating-point formats in the sqlite3_*printf() functions should pull an int64 off of the parameter list and ignore it. (check-in: 3fd6f9ad06 user: drh tags: trunk)
16:25
When SQLITE_OMIT_FLOATING_POINT is defined, make sure the result of a mathematical operation is always tagged as an integer. (check-in: e12da0d316 user: drh tags: trunk)
15:15
Make the doubleToInt64() routine a pass-through when using OMIT_FLOATING_POINT. (check-in: 417167182e user: drh tags: trunk)
14:08
Add tests to backup.test to verify that SQLite behaves as expected when the source database is modified mid-backup. (check-in: 985d3bec07 user: dan tags: trunk)
04:22
Comment out unused code when SQLITE_OMIT_FLOATING_POINT is selected. Added testcase() macros to boundary conditions in util.c routines. (check-in: dfc6595d34 user: drh tags: trunk)
00:04
Make the sqlite3_result_double() interface work the same as sqlite3_result_int64() when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: 61df598660 user: drh tags: trunk)
2010-01-12
23:54
Make sure internal queries are well ordered, even when the reverse_unordered_selects pragma is in effect. Ticket [eb942c64a157]. (check-in: 0209f17180 user: drh tags: trunk)
19:28
Fix the implementation of CURRENT_TIMESTAME and CURRENT_DATE when SQLITE_OMIT_DATETIME_FUNCS is defined. (check-in: eb98265b59 user: drh tags: trunk)
17:57
Update comments in fts3_snippet.c. (check-in: dd9689b7c3 user: dan tags: trunk)
17:04
Use #ifdefs to disable unused code when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: 66bab85619 user: drh tags: trunk)
2010-01-11
18:26
Add a few documentation evidence comments to the built-in function implementations. (check-in: 8bd0f8147d user: drh tags: trunk)
12:00
Modify snippets code to run more efficiently. And to avoid a bug relating to snippets based on full-text queries that contain duplicate terms. (check-in: a2b1183d9e user: dan tags: trunk)
2010-01-09
07:33
Fix handling of an OOM error in the fts3 offsets() function. Fix a couple of snippet related test cases in e_fts3.test. (check-in: 14dc46a74a user: dan tags: trunk)
2010-01-08
23:01
Update comments in fts3.c to more accurately describe the doclist format. (check-in: e424a03073 user: drh tags: trunk)
04:50
Added option to restore_jrnl.tcl utility to hex dump journal pages. (check-in: 08c545f030 user: shaneh tags: trunk)
2010-01-07
22:02
Minor tweaks to restore_jrnl.tcl utility script. (check-in: b97aca1200 user: shaneh tags: trunk)
21:49
Small tool that attempts to repair a journal header. (check-in: 05b18b5f6a user: shaneh tags: trunk)
15:17
Fix the expression comparison logic to take the COLLATE operator into account. Ticket [360c6073e197] (check-in: 44bb1bfe5d user: drh tags: trunk)
11:27
Changes to test code so that testfixture compiles when OMIT_SHARED_CACHE and OMIT_UTF16 are defined. (check-in: d6ee5ff6c8 user: dan tags: trunk)
10:54
Fixes to problems in FTS3 snippet() function found by th3 tests. (check-in: 3b5ccd2682 user: dan tags: trunk)
03:53
Another attempt at fixing the table generator in lemon. Again, this does not effect the SQLite grammar. (check-in: e22c090f35 user: drh tags: trunk)
2010-01-06
18:36
Fix a segfault that can occur following an OOM in the FTS3 snippet() function (check-in: c7e5966e3b user: dan tags: trunk)
17:19
Change the fts3 snippet function to return (hopefully) more relevant snippets in less time. (check-in: 8a208223a7 user: dan tags: trunk)
13:12
Update the OS-X branch to include all trunk changes through version 3.6.22. (check-in: 541e2b488e user: drh tags: apple-osx)
13:07
Fix an issue with lemon generating incorrect grammars. This issue does not effect SQLite. (check-in: 077a6bee2d user: drh tags: trunk)
00:00
Version 3.6.22 (check-in: 28d0d77107 user: drh tags: trunk, release)
2010-01-05
14:18
Removed compiler warnings in MSVC. (check-in: 4ecb4725b7 user: shaneh tags: trunk)
13:40
Make sure new pages are zeroed even when loading a freelist page using the noContent option. This prevents a harmless valgrind warning. (check-in: e47e213369 user: drh tags: trunk)
04:59
Fix a problem in the shell tool. In some cases sqlite3_errmsg() was being called before sqlite3_finalize(), causing error messages to be more generic than they should be. (check-in: e5d07045fa user: dan tags: trunk)
03:30
In the debugging memory allocator, initialize new memory allocations to pseudo-randomness in an effort to find problems with memcmp() of structures that have uninitialized pad bytes. (check-in: 6462817b2f user: drh tags: trunk)
00:14
Fix a case in os_unix.c where two structures that might have uninitialized padding bytes are compared using memcmp(). (check-in: e02f255602 user: drh tags: trunk)
2010-01-04
13:30
Version 3.6.22 Release Candidate 1 (check-in: 9d8ab0f1f5 user: drh tags: trunk)
2010-01-02
19:02
Add experimental implementation of FTS3 functions matchinfo() and snippet() (not enabled by default). (check-in: 51f7ee8440 user: dan tags: trunk)
03:46
Fix a bug in the new sqlite3_test_control case of the previous check-in. (check-in: 3b77701bc8 user: drh tags: trunk)
03:21
Add a new sqlite3_test_control() verb that facilitates testing that all keywords are shown in the documentation. (Two keywords were found to be missing while testing the change.) (check-in: d3cdc4b12b user: drh tags: trunk)
2010-01-01
18:57
Add evidence marks associated with autoincrement. (check-in: 0e918c5489 user: drh tags: trunk)
2009-12-31
20:35
Add comments and an assert() to help clarify the operation of the sqlite3VdbeList() routine used to implement EXPLAIN. (check-in: e1ccdb93d7 user: drh tags: trunk)
19:48
Minor changes to test scripts to support various SQLITE_OMIT options. (check-in: 97f8a886b6 user: shaneh tags: trunk)
19:06
Changes to remove warnings in MSVC build. (check-in: 6cf76c2ae2 user: shaneh tags: trunk)
15:51
Change evidence marks to track requirement number changes in the foreign-key documentation. (check-in: 6b4fcd81e7 user: drh tags: trunk)
2009-12-30
14:19
Change the version number to 3.6.22. (check-in: 96919a46bb user: drh tags: trunk)
14:12
Adjustments to column cache handling in order to restore 100% branch test coverage. (check-in: cc6b959bc1 user: drh tags: trunk)
01:13
Remove some code in the column cache that is no longer used. Replace it with an assert(). (check-in: 1f890efb78 user: drh tags: trunk)
00:12
Remove obsolete comment text from expr.c. No functional code changes. (check-in: 84058be0be user: drh tags: trunk)
2009-12-29
23:39
Within the special new.* and old.* tables of a trigger, recognize all the original table names even if those names overload the "rowid", "oid", or "_rowid_" special names. Ticket [34d2ae1c6d0]. (check-in: 1a0e5fa9f0 user: drh tags: trunk)
10:32
Fix a bug triggered by optimizing an FTS3 table when there are no segments on disk but pending terms in the hash table. (check-in: a3b50e4f80 user: dan tags: trunk)
2009-12-24
16:00
Immediately purge entries from the column cache when the associated register undergoes an affinity change. Ticket [eb5548a849]. Enhance the SQLITE_TESTCTRL_OPTIMIZATIONS setting of sqlite3_test_control so that it can disable the column cache for testing purposes, in an effort to prevent future problems of a similar nature to this one. (check-in: ea4e57e1c1 user: drh tags: trunk)
2009-12-23
18:06
Fix the main.mk makefile so that the sqlrr extension is built into the amalgamation correctly. (check-in: a3204d8a21 user: drh tags: apple-osx)
2009-12-22
23:52
Move the query flattener turn-off from a pragma to an sqlite3_test_control() call. Make provisions (not yet implemented) to turn off other optimizers using the same call. (check-in: 4a97c623f4 user: drh tags: trunk)
18:56
Add the experimental FTS3 matchinfo() function. Provides details of the match that may be used for result ranking and other purposes. (check-in: 37a1de02d1 user: dan tags: trunk)
00:29
Add a pragma to disable the query flattener - for use during testing. (check-in: 1d8550e5c8 user: drh tags: trunk)
2009-12-21
08:53
Change many comments in e_fkey.test to include the full text of the corresponding statement in foreignkeys.html. (check-in: 4b489ecb25 user: dan tags: trunk)
2009-12-20
15:00
Fix a problem in FTS3 phrase queries. Add tests to check that it really is fixed. (check-in: 956de051f4 user: dan tags: trunk)
2009-12-17
22:17
Modified statement machine in sqlite3_complete() to return 0 on empty string. Added/updated tests for same. Ticket [356c885b0b]. (check-in: 76eca7295c user: shaneh tags: trunk)
22:12
Fixed some TCL test cases to work if SQLITE_OMIT_TRIGGER is defined. (check-in: 85e3c73497 user: shaneh tags: trunk)
21:07
Updated and added new test cases for CLI. (check-in: 29e3c8da1b user: shaneh tags: trunk)
21:07
In shell.c (CLI), modified local_getline() to remove '\r' as well as '\n' from end of lines. This provides consistency between MSVC and CYGWIN builds. (check-in: b1b48be1cf user: shaneh tags: trunk)
21:05
Fix typo in comment of prepare.c. (check-in: 333c3ffe6d user: shaneh tags: trunk)
03:49
Disable trace when recursively running commands while vacuuming. (check-in: 69a1348a3c user: drh tags: trunk)
02:13
Change the REGEXP function in ICU to require exactly 2 arguments. (check-in: c34cf23efb user: drh tags: trunk)
2009-12-16
23:46
Merge the latest changes on trunk (and especially the fix for the (xANDy)OR(z) bug) into apple-osx. (check-in: 5754a3a561 user: drh tags: apple-osx)
23:43
Remove unreachable code that was added by the fix to the "(xANDy)OR(z)" bug in the previous check-in. (check-in: 04915562a0 user: drh tags: trunk)
23:28
Fix for the "(x AND y) OR z" bug backported to version 3.6.21. (Leaf check-in: 867347323b user: drh tags: branch-3.6.21)
22:10
Ensure WHERE clause terms involving tables on the right end of a join are not prematurely evaluated when tables on the left end of the join make use of the OR-clause optimization. Fix for ticket [31338dca7e]. (check-in: 2c2de25266 user: drh tags: trunk)
14:49
Modify some comments in e_fkey.test. No changes to code or tests. (check-in: 1ba4f41232 user: dan tags: trunk)
2009-12-14
17:42
Add a few simple evidence comments to the tokenizer. No functional changes. (check-in: 0daec3099d user: drh tags: trunk)
15:17
Handle an unhandled OOM error code that occurs in fts3 with SQLITE_TEST defined. (check-in: 82b069998e user: dan tags: trunk)
14:49
Fix a broken assert() in fts3_write.c. Also fix a couple of compiler warnings in fts3 code. (check-in: a730a05b39 user: dan tags: trunk)
2009-12-13
23:03
Additional corrections to documentation comments. No functional code changes. (check-in: b3740b0aa0 user: drh tags: trunk)
22:20
Minor documentation updates. No functional changes. (check-in: 6ae7e40ba0 user: drh tags: trunk)
2009-12-12
23:57
Fix some documentation comments in sqlite.h.in. No functional code changes. (check-in: c16b9bec77 user: drh tags: trunk)
19:15
Tests to cover a few extra branches in fts3.c. (check-in: 06b72b0073 user: dan tags: trunk)
16:04
Further fts3 coverage tests. (check-in: d2a8c0f683 user: dan tags: trunk)
13:58
Rename tkt-d82e3f3721.txt to use the (correct) .test suffix. (check-in: 68cccd62b7 user: drh tags: trunk)
13:16
Extra tests for coverage of fts3 code. (check-in: eee921a99e user: dan tags: trunk)
09:51
Add coverage test cases for fts3. (check-in: 8fcb0478c8 user: dan tags: trunk)
2009-12-11
23:11
Additional changes to C-language interface documentation. (check-in: 1342916fd3 user: drh tags: trunk)
16:03
Change the fts3 test interface used to configure the advisory node size parameter. (check-in: 87fc0ce151 user: dan tags: trunk)
12:29
Rationalize some code in fts3 used by optimize operations, queries of the pending-terms hash table and segment merges. Add the "INSERT INTO tbl(tbl) VALUES('optimize')" syntax. (check-in: 29476da353 user: dan tags: trunk)
07:07
Add comment to fts3rnd.test to explain how the test works. (check-in: 6b740c7cd5 user: dan tags: trunk)
03:44
Extensive edits to the comments in the sqlite.h.in source file to identify testable statements of truth about the C-language interface. (check-in: ea884e1ed8 user: drh tags: trunk)
2009-12-10
21:11
Avoid declaring and freeing test variables if SQLITE_TEST not defined. (check-in: c2d22960f6 user: shaneh tags: trunk)
18:38
Remove some unused macros and types from fts3.c. (check-in: 83a80efe8a user: dan tags: trunk)
18:29
Fix handling of "WHERE col MATCH ? AND docid = ?" clauses in fts3. (check-in: 6cbbae8499 user: dan tags: trunk)
18:20
Fix an OOM related problem in the snippet() and offsets() functions of fts3. (check-in: 61efff4142 user: dan tags: trunk)
16:04
Changes to fts3 to avoid flushing data to disk within a SELECT statement. (check-in: 48c0db0eb2 user: dan tags: trunk)
01:17
Only declare the sqlite3_mutex_held() and sqlite3_mutex_notheld() interfaces in the header file if NDEBUG is not defined. (check-in: ee9b1c05a7 user: drh tags: trunk)
2009-12-09
21:43
Restore the incorrect legacy ON INSERT syntax to the parser as a no-op. That way, older databases that actually use this meaningless syntax will still be readable. (check-in: 54b955c36b user: drh tags: trunk)
18:22
Added test cases for the multi-way USING and NATURAL JOIN fix. Ticket [f74beaabde]. (check-in: 0b34ab2562 user: drh tags: trunk)
17:36
The USING clause and NATURAL JOIN look at all tables to the left when searching for a match, not just the one table to the immediate left. Tables further to the left are preferred. Fix for ticket [f74beaabde]. Still need to add test cases to complete the ticket. (check-in: b558e96f0a user: drh tags: trunk)
14:39
Improve test coverage of fts3.c. (check-in: 56b6432f86 user: dan tags: trunk)
05:30
Mark fts3ReallocOrFree and fts3InitVtab as static. Ticket [ff44d82f3b]. (check-in: a9038306c3 user: dan tags: trunk)
2009-12-08
22:16
Change to order of two branches in vtab.c in order to a restore 100% test coverage. (check-in: fdfdc777c5 user: drh tags: trunk)
19:58
Add comments to better explain the two-pass memory allocation approach for prepared statements. (check-in: 0e5e18ea12 user: drh tags: trunk)
19:05
Add tests to improve coverage of fts3. Associated bugfixes. (check-in: f0eac4175a user: dan tags: trunk)
15:35
Avoid pointer aliasing in the allocSpace() routine in vdbeaux.c. (check-in: d6ae275122 user: drh tags: trunk)
15:16
Begin updating API documentation to use the new MD5-hash based automatic requirements numbering. Comment changes only. Many similar changes will follow. (check-in: 973c5c86ee user: drh tags: trunk)
14:34
Allow zero-length names for tables, columns, and indices. Fix for ticket [78e04e52eaf]. (check-in: 7b1cfd65a6 user: drh tags: trunk)
13:44
Add test cases for ticket [abe728bbc311]. (check-in: 4eb9bf0b93 user: drh tags: trunk)
13:36
Avoid dereferencing a null pointer when doing a multi-database comment where one or more of the databases is an ATTACH-ed TEMP database. Ticket [abe728bbc311d]. (check-in: f43e37e0a4 user: drh tags: trunk)
02:06
Add evidence marks for the abs() and soundex() SQL functions. (check-in: 003f3ed10c user: drh tags: trunk)
2009-12-07
23:53
Merge all changes associated with the version 3.6.21 release into the OS-X branch. (check-in: ad08794d72 user: drh tags: apple-osx)
16:39
Version 3.6.21 (check-in: 1ed88e9d01 user: drh tags: trunk, release)
16:26
Remove a redundant line from fts3. (check-in: cd50acf37f user: dan tags: trunk)
16:23
Add extra tests for parsing of whitespace in tokenizer declarations,. (check-in: 5030ba2e30 user: dan tags: trunk)
16:18
Move some SQLITE_TEST code down to avoid mixing code and variable declarations. Fix a test for high-order bit handling in sqlite3Fts3InitTokenizer(). (check-in: fad43d290f user: shaneh tags: trunk)
14:48
Version 3.6.21 release candidate 2. (check-in: 78f6baffb0 user: drh tags: trunk)
12:34
Add some tests for OR, AND and NOT operations to fts3rnd.test. Add tests to check that errors are returned when bad arguments are passed to fts3 functions snippet, offsets and optimize. Minor fix for the same (check-in: 5811df3f04 user: dan tags: trunk)
2009-12-06
03:35
Enhanced detection of database corruption in btree.c:allocateSpace(). (check-in: 5a511f9887 user: drh tags: trunk)
2009-12-05
18:34
Fix to check-in [f221f31eff]: Make sure local variable rc is declared even when compiled without SQLITE_DEBUG. (check-in: 7a9a35327c user: drh tags: trunk)
18:16
Add test case for the obscure corruption detection added by the previous commit. (check-in: f221f31eff user: dan tags: trunk)
18:03
Catch an obscure case of database corruption. (check-in: 0f9b17a6da user: dan tags: trunk)
14:29
Fix another bug in 3-way NEAR queries. (check-in: 3bb13a0652 user: dan tags: trunk)
11:37
Fix some problems with FTS3 and 3-way NEAR queries. (check-in: 23dc6fb5b2 user: dan tags: trunk)
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: 08faee686e 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: 04fc9c7661 user: drh tags: trunk)
19:07
Fix a problem involving a 3-way NEAR query. (check-in: 507890a913 user: dan tags: trunk)
14:25
In the OSTRACE debugging macros in os_unix.c, identify the VFS currently in use. (check-in: 082b8da005 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: 69c21ee46a 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: 2ad1461f25 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: e8ae7e9897 user: dan tags: trunk)
05:41
Do not run fts3rnd.test as part of quick.test. (check-in: 3bb64842ac user: dan tags: trunk)
01:44
Clear a conflicting TCL variable in the fts3rnd.test test script. (check-in: f9047b2e88 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: 5ab2b3e300 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: d5861d9ffe user: drh tags: trunk)
17:36
Fix an incorrect assert() in fts3.c. Add further fts3 tests. (check-in: 75863c2d55 user: dan tags: trunk)
06:26
Updates to FTS3 to correct compiler warnings under MSVC. (check-in: 37495b55ff user: shaneh tags: trunk)
04:40
Fix a couple of compiler warnings under MSVC. (check-in: e3aa0870fc user: shaneh tags: trunk)
04:32
Fix cut-and-paste error affecting a couple of attach tests on Windows. (check-in: 59e2e2c630 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: acce10f771 user: drh tags: trunk)
2009-12-02
20:25
Change an error message in FTS3 to avoid using an uninitialized variable. (check-in: 620a8a2b38 user: drh tags: trunk)
18:16
Fix an uninitialized value read in sqlite3async.c. (check-in: 1cf2136c39 user: dan tags: trunk)
18:03
Fix compiler warnings in test_hexio.c. (check-in: 6a2e0725c2 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: ef5b745029 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: d17ec16b7c user: dan tags: trunk)
02:49
Make sure a variable is cleared before use in the where8.test script. (check-in: b34365296d 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: 27175caa28 user: drh tags: trunk)
18:46
Fix a faulty function prototype in test_intarray.c. (check-in: 110956a650 user: drh tags: trunk)
17:08
Use #include "sqlite3.h" instead of <sqlite3.h> in fts3Int.h. (check-in: 7737db490c user: dan tags: trunk)
17:05
Add typedefs for i16 and u8 to fts3Int.h when not building via the amalgamation method. (check-in: fa56c1c472 user: dan tags: trunk)
15:04
Add tests for the remaining examples in fts3.in. (check-in: e381cd5229 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: c40e4ef094 user: drh tags: trunk)
13:57
Changes to the TCL interface header to allow it to be compiled independently from the amalgamation. (check-in: 58113932d9 user: drh tags: trunk)
13:48
Open a savepoint within the FTS3 optimize() function. (check-in: 4924fbb244 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: c022f66b5a user: dan tags: trunk)
2009-11-30
19:48
Test coverage improvements in the FTS3 porter stemmer. (check-in: 6d112bfd53 user: drh tags: trunk)
08:55
Add test cases for examples recently added to documentation file fts3.html. (check-in: 498922cc35 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: b939a37a8c 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: 31eed4f8f9 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: 80754d383a 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: a9cba7ea0a user: dan tags: trunk)
13:46
Initialize a variable (unnecessarily) to avoid a compiler warning. (check-in: db65fd5913 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: eada284bc1 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: ca73be44cc user: dan tags: trunk)
12:14
Remove a C++ism accidentally added to fts3.c. (check-in: 97d3324160 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: 1b7c5250cc user: dan tags: trunk)
2009-11-26
14:01
Simplifications to the sqlite3_trace() bound parameter substitution logic. (check-in: cb4b928648 user: drh tags: trunk)
2009-11-25
22:42
Make sure the new fts3Int.h header file is added to the amalgamation. (check-in: f25558f333 user: drh tags: trunk)
21:05
Support zeroblob in trace output. (check-in: 5086bf8e83 user: drh tags: trunk)
19:35
Get trace with parameter insertion working for UTF16 databases. (check-in: 01d5451af0 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: 545cfb3b63 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: 3ba773132d 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: 7d30880114 user: drh tags: experimental)
16:26
Fix a tracing macro in the VDBE in the VColumn opcode. (check-in: cb74b81bb0 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: 02ef972a56 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: 83dc7d38c2 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: 6ce6ff4402 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: a4380ab326 user: dan tags: trunk)
13:17
Bump the version number to 3.6.21. (check-in: 39214aee65 user: drh tags: trunk)
2009-11-21
03:03
Add some missing comments to fts3 files. No source code changes. (check-in: b6402b2065 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: f3398fc4db 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: 2f42f91fe6 user: drh tags: trunk)
17:23
Merge leaf accidentally created by [1c4984c62f]. (check-in: cae949ce97 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: 1c4984c62f 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: c6ed7e2a73 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: e493b093f8 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: 9a429349cc user: drh tags: trunk)
05:05
Improve comments and other things in fts3_write.c. (check-in: 1cf0e3cc14 user: dan tags: trunk)
02:24
Minor optimizations to fts3 code. (check-in: b456eacbbb user: dan tags: trunk)
2009-11-19
18:30
Merge leaves [7cd178a72a] and [598727e6da]. (check-in: 4115c0c286 user: dan tags: trunk)
18:28
Fix a performance regression introduced while reworking the fts3 code. (check-in: 7cd178a72a user: dan tags: trunk)
15:44
Remove an unreachable branch from the OP_Affinity suppression logic. (check-in: 598727e6da user: drh tags: trunk)
15:26
Merge fts3-refactor into the main trunk. (check-in: 551dbe30ea user: dan tags: trunk)
15:25
Fix some fts3 related issues with the autoconf and amalgamation build systems. (Closed-Leaf check-in: 3b17924754 user: dan)
14:57
Merge with [4bd4330709]. (check-in: 7a46d1ebe3 user: dan tags: fts3-refactor)
14:52
Merge the fts3-refactor branch with the trunk. (check-in: c8d2bd37a4 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: 4bd4330709 user: drh tags: trunk)
00:15
Fix problems introduced into fts3 as part of the refactoring. (check-in: fa0998e19d user: dan tags: fts3-refactor)
2009-11-18
23:01
Performance improvement by avoiding unnecessary calls to memset(). (check-in: 85940468e6 user: drh tags: trunk)
15:35
Add some missing comments and fix some other issues in fts3 code. (check-in: 2fe579e778 user: dan tags: fts3-refactor)
01:25
Suppress more instances of unnecessary OP_IsNull and OP_Affinity opcodes. (check-in: bf6c0bd1c5 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: 9744ffb3f5 user: drh tags: trunk)
18:31
Code generator tries to avoid pointless OP_IsNull and OP_Affinity opcodes. (check-in: ebb0c8a3e9 user: drh tags: trunk)
12:52
Improvements to the way fts3 reads the full-text index. (check-in: 45c051e786 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: e4943adb83 user: drh tags: trunk)
22:54
Fix a reference to freed memory that can occur following an OOM error in where.c. (check-in: 929b604739 user: drh tags: trunk)
21:28
Back out part of the change in [23ea2b700fd6d28d] since TH3 reveals some problems in OOM situations. (check-in: 15d215d62d user: drh tags: trunk)
16:36
Add a few extra coverage test cases for fts3. (check-in: f29c8fcade 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: 1c9243b076 user: drh tags: trunk)
03:13
Additional optimizations in sqlite3VdbeRecordCompare(). (check-in: 23ea2b700f user: drh tags: trunk)
02:14
Optimizations to the sqlite3VdbeRecordCompare() routine help it to run 12.5% faster for some traces. (check-in: 74c76f0bf9 user: drh tags: trunk)
2009-11-15
06:50
Fixes to fts3 integrity check code. (check-in: d3cae986ee 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: d622ac6ac7 user: drh tags: trunk)
18:41
Further OOM testing for fts3 code. Add Tcl code implementing an integrity-check for fts3. (check-in: c27d46b33e 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: 8bd3cc8272 user: drh tags: trunk)
2009-11-13
20:52
Performance improvements and size reductions on the OP_Seek* family of VDBE opcodes. (check-in: ed820f45cf 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: 3352b3eba5 user: drh tags: trunk)
17:36
Start reworking fts3 code to match the rest of SQLite (code conventions, malloc-failure handling etc.). (check-in: 30a92f1132 user: dan tags: fts3-refactor)
17:05
Force 8-byte memory alignment on memory allocated for VDBE cursors. (check-in: bdc45ba77f 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: f0599d28fa 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: 6705ab1ad1 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: b9eab885cd 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: fcff5b7e2d user: drh tags: trunk)
13:32
Factor out the code generator for BETWEEN into a subroutine. (check-in: 5735f60b23 user: drh tags: trunk)
05:04
Update comment for substrFunc(). Added additional SUBSTR() test cases. (check-in: d7b3801dc7 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: e8aec08bee 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: cff1b36ab2 user: drh tags: trunk)
03:13
Adjustments to the implementation of LIMIT so that it uses fewer opcodes. (check-in: 39d5b292d2 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: 8861b5c160 user: drh tags: trunk)
23:48
Remove an obsolete (and incorrect) comment from sqlite3MemCompare(). No changes to code. (check-in: c15b70b3ae 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: 5a474a867c user: drh tags: trunk)
13:17
Allow media sector sizes as small as 32. The former minimum size was 512. (check-in: 5a32bfc17e 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: 09b4f19f10 user: shaneh tags: trunk)
01:14
Additional test cases for the coalesce() and ifnull() functions. (check-in: d0591258b6 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: 30055b257c user: drh tags: trunk)
2009-11-10
17:55
Additional intarray test cases and tweaks to comments. (check-in: 0c8db5d88e user: drh tags: trunk)
17:24
Initial implementation and test cases for the "intarray" virtual table. (check-in: 0e7d29253f user: drh tags: trunk)
17:07
Fix for datbase name being ignored with the -batch option in the CLI. Ticket [aeff892c57]. (check-in: 8097c64acf user: shaneh tags: trunk)
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: f6c045f649 user: drh tags: trunk)
01:13
Remove from the TCL interface some old code associated with sqlite3_analyzer. (check-in: 01f2271e51 user: drh tags: trunk)
01:12
Omit some code that is not used when SQLITE_SECURE_DELETE is defined. (check-in: 5a9e746357 user: drh tags: trunk)
2009-11-09
19:30
Fix for lock structure sharing with AFP-style locking (check-in: 62f15c0aea user: adam tags: apple-osx)
2009-11-06
17:20
Improved shell "dot" command argument handling. Ticket [f12a9eeedc]. (check-in: 9fb6991933 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: ddb71cd9ed user: drh tags: trunk)
03:33
Merged accidental fork. (check-in: d410cd4e42 user: shaneh tags: trunk)
03:22
Add some very basic tests for the commands available from the CLI. (check-in: 6bf4333804 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: 38eaf1ab6e user: drh tags: trunk)
18:31
Fix an undefined variable on non-Mac builds. (check-in: 9552de8fb5 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: bd443f39a9 user: drh tags: shunning-error)
16:29
Add a comment related to code coverage. No changes to code. (check-in: 6bdc2c9957 user: drh tags: shunning-error)
04:14
Update maxRow size after shrinking the row buffer (CSV). (Closed-Leaf check-in: d474195a99 user: shaneh tags: csv_ext)
04:01
Removed line limit on rows. (check-in: ec08b15f77 user: shaneh tags: csv_ext)
02:34
Initial implementation of a virtual table for CSV files. (check-in: 90e63b7d84 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: f1c09acaca user: drh tags: shunning-error)
21:49
Do not accept a codec no an in-memory database. (check-in: 6f3081a8e5 user: drh tags: shunning-error)
18:51
Fix documentation typos. (check-in: 590d4ac1ee user: drh tags: shunning-error)
13:30
Version 3.6.20 (check-in: eb7a544fe4 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: 24a4d520d5 user: drh tags: trunk)
01:56
Report errors back up to the ATTACH command if the codec fails to initialize. (check-in: a6c696102e user: drh tags: trunk)
2009-11-03
22:34
Customizations for OSX contributed by Apple. (check-in: 941a01eb86 user: adam tags: apple-osx)
19:42
Fix compiler warnings on MSVC build. (check-in: 01c4b5b84e 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: 27d8e684db 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: 3b02df27ab 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: d66a0f31eb 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: 16a24b4485 user: drh tags: trunk)
2009-11-02
18:44
Bug fix in the recent changes to mkopcodeh.awk. (check-in: 6610cac435 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: e730195f52 user: drh tags: trunk)
18:01
Do not insert the date and time of generation into the amalgamation. (check-in: 9f6cf13dfb user: drh tags: trunk)
17:40
Update the configure script for version 3.6.20. (check-in: f19cb105d9 user: drh tags: trunk)
15:51
Comment changes in support of better documentation. No changes to code. (check-in: 79ab4714e4 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: cfa2db0ff7 user: drh tags: trunk)
2009-10-30
14:27
Increase the version number to 3.6.20. (check-in: 612952743d user: drh tags: trunk)
13:26
Version 3.6.16.1 (Leaf check-in: 2a832b19b6 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: 7253f8fad1 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: 65a1f1334d 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: e7984ad2f7 user: drh tags: trunk)
2009-10-27
18:06
Minor updates and corrections to comments in btreeInt.h. No changes to code. (check-in: ad949fa1ac user: drh tags: trunk)
2009-10-26
22:32
Remove additional obsolete code from the sqlite3_release_memory() logic. (check-in: 2eeb6ed818 user: drh tags: trunk)
22:08
Remove some obsolete code within #if 0 that was causing developer concern. (check-in: 1d64e9453f user: drh tags: trunk)
2009-10-24
15:51
Fix a compiler warning that occurs when building the TCL interface. (check-in: fc36034bdc user: drh tags: trunk)
03:04
Another attempt at getting the pTail pointer computations correct for sqlite3_prepare16(). Ticket [3fe897352e]. (check-in: a96b4e8c01 user: drh tags: trunk)
02:06
In shell, modified to not print informational messages during startup while in "batch mode". Ticket [2cb66577f6]. (check-in: e3898e25cf 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: 7201244e67 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: 65b1e3a4c3 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: 19064d7cea 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: 1ebac9eddd user: shane tags: trunk)
00:37
In shell, modified "import" handling to ensure error code returned correctly on exit. Ticket [bd770b2c52]. (check-in: 009efad0f4 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: 790402c150 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: a024c0a85b user: drh tags: trunk)
20:50
Add some sample requirement implementation comments to where.c. (check-in: 9854ad00ae 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: ab99faca6c user: shane tags: trunk)
17:30
Updated shell to output blobs in X'1234' form when in "insert" mode. Ticket [72adc99de9]. (check-in: a2ad9e6363 user: shane tags: trunk)
00:20
Add markings on test evidence for R-30323-21917. (check-in: e51af74c3a 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: 5354ace55f user: drh tags: trunk)
2009-10-21
14:33
Merge accidental fork back to trunk. (check-in: f63397ad6c 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: c8815fcd88 user: shane tags: trunk)
13:53
Made detectSchemaProblem function and aSchemaTable array static. Ticket [6f8b0c5855]. (check-in: c6f22f3e38 user: shane tags: trunk)
13:48
Add evidence marks to parse.y. Fix a broken evidence link in e_fkey.tcl. (check-in: 0441d28e84 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: 8a8eeb0c5a 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: 83216fbe90 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: 761396f8cb 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: b2aa48b52f 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: 0bbd8d72ec user: drh tags: trunk)
14:23
Remove all mention of sqlite3_next_stmt() from the documentation of sqlite3_close(). (check-in: f494ed38a8 user: drh tags: trunk)
14:08
Update documentation on the sqlite3_prepare_v2() interface. No changes to code. (check-in: 3b00e769cd 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: e6808c988c 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: 3bcd78a1d7 user: drh tags: trunk)
20:15
Fix an incorrect assert() in vdbeUnbind(). (check-in: 651c1efb99 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: 63bf73452d 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: 2c50b3d5aa 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: 6fe6371175 user: dan tags: trunk)
07:50
Use 64-bit arithmetic in the xRead() method of asyncRead. Fix for [94c04eaadb]. (check-in: ca3e41b057 user: dan tags: trunk)
2009-10-17
14:19
Fix a problem in the icu.test script. (check-in: 8a21fdaf6a 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: e74f8dc436 user: drh tags: trunk)
08:26
Add documentation comment for new experimental API sqlite3_reoptimize(). (check-in: c48f8ffedc user: dan tags: trunk)
2009-10-16
16:21
Merge the sqlite3_reoptimize() changes into the trunk. (check-in: 50136840d5 user: drh tags: trunk)
15:59
Fix a problem in the analyze3.test script. (Closed-Leaf check-in: 61174aea74 user: dan tags: experimental)
15:19
Remove a mutex reference leak from sqlite3_reoptimize(). (check-in: 9f09370661 user: dan tags: experimental)
15:05
Comment cleanup in btree.c. (check-in: 32966ba479 user: drh tags: trunk)
14:55
Experimental fix for [f777251dc7]. This may be changed yet. (check-in: 174477bca0 user: dan tags: trunk)
13:23
Fix comment typos in btreeInt.h. (check-in: 550566a75f 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: f256bc0796 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: c304b44cae user: drh tags: experimental)
18:35
Add the experimental sqlite3_reoptimize() API. (check-in: 9bd6f3d886 user: dan tags: experimental)
2009-10-14
11:33
Version 3.6.19 (check-in: c1d499afc5 user: drh tags: trunk, release)
2009-10-13
22:47
Update the configure script for version 3.6.19. (check-in: ac19dbc6a2 user: drh tags: trunk)
19:19
Fixed warnings with MSVC compile. (check-in: e0aa50c382 user: shane tags: trunk)
18:49
Fix a typo in the test script added for ticket [5ee23731f15]. (check-in: d0f55b5c3b 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: 1b3cfa01dd user: drh tags: trunk)
15:42
Add a test case to verify that ticket [5ee23731f15] has been fixed. (check-in: f894ebf86d 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: bc1101179a user: drh tags: trunk)
13:08
Suppress some harmless compiler warnings. (check-in: 5d381daa6e user: drh tags: trunk)
12:48
Make sure mem3.c releases its mutex on an sqlite3_shutdown() call. (check-in: 16254ad5aa user: drh tags: trunk)
10:39
Add further test cases to e_fkey.test. (check-in: c85e58743a user: dan tags: trunk)
2009-10-12
22:30
Add asserts as evidence that all FK constraints are either immediate or deferred. (check-in: 634ef4fc9f 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: a4ab5215fe user: drh tags: trunk)
18:57
Add more test cases to e_fkey.test. (check-in: 5633cb2b5b user: dan tags: trunk)
16:02
Fix some mappings from e_fkey.test. (check-in: 171c671385 user: dan tags: trunk)
15:25
Update e_fkey.test to match the latest version of foreignkeys.html. (check-in: a2ca9f1a7a user: dan tags: trunk)
11:27
Extra test cases mapped to statements in foreignkeys.html. (check-in: ffa6207dd7 user: dan tags: trunk)
08:41
Add further test cases to e_fkey.test. (check-in: d61cc0e1a1 user: dan tags: trunk)
2009-10-10
15:49
Add tests to e_fkey.test. (check-in: 5ec07feea4 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: 89c548acf4 user: drh tags: trunk)
2009-10-09
18:16
Add test cases to e_fkey.test. (check-in: e391dfe79d user: dan tags: trunk)
2009-10-08
19:02
Test a couple of the examples in foreignkeys.html. (check-in: a2fb7902c0 user: dan tags: trunk)
17:42
Add test cases to test file "e_fkey.test". (check-in: 23e0f61a4f user: dan tags: trunk)
13:42
Fix a problem in the legacy genfkey code to do with column names that require quoting. (check-in: 273ccbf18a user: dan tags: trunk)
11:57
Add tests to test/e_fkey.test. (check-in: 533703d78a user: dan tags: trunk)
06:24
Update triggerC.test to match the change to the way the trigger-recursion limit is handled. (check-in: 5806925283 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: 33973814c6 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: 56f609da4b user: drh tags: trunk)
18:41
Add some tests of statements in foreignkeys.html. (check-in: 8382867956 user: dan tags: trunk)
16:04
Add a missing OP_Close opcode to VDBE programs that check for FK constraint violations. (check-in: 5caa4a2b05 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: 2fd487fdb6 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: 4c342c026a 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: e9f72f1de4 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: 64bad00b4f 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: 3c24df38e6 user: dan tags: trunk)
2009-10-02
15:29
Add one more authentication test to fkey2.test to cover an untested branch. (check-in: e4fa8be770 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: 9842f2d5f6 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: dca2a7f608 user: dan tags: trunk)
2009-10-01
17:13
Add test cases to cover the branches added by the previous commit. (check-in: aaa005b6da 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: edff350005 user: dan tags: trunk)
04:35
Add tests to check that FK support interacts with count-changes correctly. (check-in: 5b8366154b 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: 0a0a17d87c user: dan tags: trunk)
04:28
Change a couple of comments to use "SQLITE_MUTEX_OMIT" instead of OMIT_MUTEX. (check-in: b733e939f7 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: 9a4b7ec292 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: 64154174cf user: dan tags: trunk)
11:28
Remove an unused variable from fkey.c. (check-in: 582bd76828 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: e4eb227b14 user: dan tags: trunk)
2009-09-28
18:52
Ignore foreign key mismatch errors while compiling DROP TABLE commands. (check-in: 5b4d46374a 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: 8353808c9e user: dan tags: trunk)
11:54
Fix some foreign key constraint related problems that occur when a row refers to itself. (check-in: 9e503e2d04 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: b4a10c39e7 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: 519144ac43 user: dan tags: trunk)
12:00
Fix comments in fkey2.c to reflect the immediate-constraint-counter approach. (check-in: 9fd54b0aa7 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: 353b1b1825 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: 76e8e74b49 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: beb2094f94 user: dan tags: trunk)
15:16
Fix a problem in fkey.c when a child key is the IPK of its table. (check-in: 8a000a8aae user: dan tags: trunk)
14:27
Remove the ALWAYS() added by the previous check-in. It is not needed. (check-in: 3656896335 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: d5b714cfff 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: 3f40c142c8 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: ce554a3934 user: dan tags: trunk)
09:05
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect(). (check-in: 0443f7c911 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: f0c56fa90d user: drh tags: trunk)
2009-09-23
18:49
More fkey tests. (check-in: 2d544bd53d user: shane tags: trunk)
18:07
Fix a problem with FK constraints that implicitly map to a composite primary key. (check-in: e0a48d5311 user: dan tags: trunk)
17:31
Fix a problem in the fkey_malloc.test script. (check-in: 0ce1efa460 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: 1a32149cc3 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: 0755b9b697 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: e3b73394bf user: drh tags: trunk)
13:59
Disallow using the implicit rowid column as the parent key of an FK constraint. (check-in: a5f7e71f42 user: dan tags: trunk)
13:39
Add test cases for the IS and IS NOT operator. (check-in: 101ed58cf4 user: drh tags: trunk)
12:06
Add extra tests for foreign key support. (check-in: 7d086afe69 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: 540c2d18e1 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: 71ac8e28e5 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: 98853f6104 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: 3fc938c961 user: drh tags: trunk)
19:53
The NO ACTION action really should be no-action and not RESTRICT. (check-in: 55b263fa2b user: drh tags: trunk)
16:55
Fix another OOM related problem in fkey.c. (check-in: e2bc51bc61 user: dan tags: trunk)
16:08
Fix a problem with ON DELETE SET DEFAULT actions. (check-in: 9406995055 user: dan tags: trunk)
15:53
Fix an OOM related crash in fkey.c. (check-in: 635d6a775a user: dan tags: trunk)
13:25
Allow specific exclusion of localtime_s() usage on Windows. (check-in: 216bcda7d2 user: shane tags: trunk)
07:13
Fix compilation errors when OMIT_FOREIGN_KEY is defined. (check-in: c447cb37d6 user: dan tags: trunk)
2009-09-21
18:56
Fix a problem with foreign key constraints that map from and IPK column. (check-in: 8412905262 user: dan tags: trunk)
16:34
Fix compilation with both OMIT_UTF16 and ENABLE_STAT2 defined. Ticket [56928bd084]. (check-in: cd850d49a1 user: dan tags: trunk)
16:06
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030]. (check-in: fb6ceed388 user: dan tags: trunk)
2009-09-19
17:59
Add fkey.c to the autoconf and amalgamation build systems. (check-in: aab7a4b3c9 user: dan tags: trunk)
17:00
Check in implementation of foreign key constraints. (check-in: d5d3998118 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: 03e464be51 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: 2b2a1ef74e user: drh tags: trunk)
2009-09-11
18:28
Set the execute permission bit on "configure". (check-in: f8c02b2b72 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: 5e0e941f3a user: drh tags: trunk)
14:05
Version 3.6.18 (check-in: b084828a77 user: drh tags: trunk, release)
2009-09-10
22:30
Omit the mutexIsInit test variable when mutexes are disabled. (check-in: 3ea1043443 user: drh tags: trunk)
20:23
Fixed some warnings and an assert in the WINCE code when compiling under MSVC. (check-in: f42ec993ac user: shane tags: trunk)
19:20
Make sure the threadsOverrideEachOthersLocks variable is only referenced by linux systems on a threadsafe compile. (check-in: e9d064bd93 user: drh tags: trunk)
19:09
Cleanup of warnings on MSVC build. (check-in: 5588cc96bb user: shane tags: trunk)
18:26
Update an r-tree test to account for changes in the query planner. (check-in: e5ce66d40b user: dan tags: trunk)
18:17
Define SQLITE_TEST when compiling mem5.c for testfixture. (check-in: 6b16f3c907 user: dan tags: trunk)
18:04
Fix a problem in test script corrupt.test. (check-in: dad2b74ad0 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: 1183c53357 user: drh tags: trunk)
16:14
Fix a problem with the sqlite3VdbeMayAbort() assert failing following an OOM. (check-in: b302786350 user: dan tags: trunk)
10:15
Remove an ALWAYS macro around an expression that is sometimes false. (check-in: f2a9ee722c user: dan tags: trunk)
02:54
Reduce default SQLITE_MAX_TRIGGER_DEPTH when SQLITE_SMALL_STACK is defined. (check-in: 913fb70ea8 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: ef99eb57c5 user: dan tags: trunk)
16:10
Suppress some harmless compiler warnings. (check-in: f0c72a53c5 user: drh tags: trunk)
15:29
Bug fix in the SQLITE_OPEN_PRIVATECACHE option added a few minutes ago. (check-in: f3a0f23bc7 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: 9a4c59a2dd 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: ba20091ae8 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: f509eb8b48 user: drh tags: trunk)
12:41
Increase the size of bitvec objects to 1024 bytes on 64-bit systems. (check-in: f1272b90f6 user: drh tags: trunk)
11:43
Add a test case to show that 29ab7be99f is fixed. (check-in: 135d656a20 user: dan tags: trunk)
11:37
Add a complicated assert() to check that statement transactions are opened when required. (check-in: 28aa1f4ea8 user: dan tags: trunk)
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. (check-in: aec9dbd8d2 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: 85cb0c94a6 user: dan tags: trunk)
13:40
Additional simplifications in support of structural testing. (check-in: 4ab8c841f8 user: drh tags: trunk)
02:27
Further simplifications to the VDBE - removing functionality that is no longer used. (check-in: b271e16621 user: drh tags: trunk)
01:14
Code simplifications, especially to the pseudo-table logic, and comment improvements. (check-in: 52449a9569 user: drh tags: trunk)
2009-09-07
18:14
Add the SQLITE_LIMIT_TRIGGER_DEPTH option to sqlite3_limit(). (check-in: d7dc8b4336 user: drh tags: trunk)
17:41
Merge 1958db4493 and 26cd015c0e. (check-in: ecbe0832be 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: 1958db4493 user: dan tags: trunk)
04:38
Warning cleanup from the MSVC compile. (check-in: 26cd015c0e 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: 2a74ae1969 user: shane tags: trunk)
02:46
Changes to internal AtoF to improve "accuracy" when measured against built-in GCC atof(). (check-in: 438e1577d0 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: 2aeab80e5b 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: f22e388727 user: drh tags: trunk)
2009-09-02
19:04
Documentation updates for the version info #defines and C interfaces. (check-in: 69055e9b4c user: drh tags: trunk)
2009-09-01
17:28
Fix a problem in main.c. SQLITE_NoRecTriggers -> SQLITE_RecTriggers. (check-in: 5ac69ed608 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: e016cca363 user: dan tags: trunk)
16:39
Merge in changes to support recursive invocation of triggers (disabled by default). (check-in: c1b388c30d user: dan tags: trunk)
16:19
Add new test script triggerC.test. (check-in: a2a062a4b5 user: dan tags: trunk)
12:16
More fixes and comment updates. (check-in: 38a9327bad 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: 5e2f549683 user: drh tags: trunk)
15:27
More fixes for test cases. (check-in: 85d9f23be1 user: dan tags: trunk)
08:22
Fix some authorization callback problems. (check-in: 8a746fbfd5 user: dan tags: trunk)
05:39
Merge with main branch. (check-in: 6e09e28751 user: dan tags: trunk)
05:23
Fix another test problem and some instances where an OOM may cause a segfault. (check-in: 31199db0f7 user: dan tags: trunk)
2009-08-30
11:42
Fixes for new triggers scheme. (check-in: 9eb91efda5 user: dan tags: trunk)
2009-08-28
18:53
Changes to support recursive triggers. (check-in: 9b9c192115 user: dan tags: trunk)
00:49
Add a new source code logo gif. (check-in: 6abcba1021 user: drh tags: trunk)
2009-08-27
17:56
Patch to the named semaphore locking mechanism used by VxWorks. (check-in: 609c5341be user: drh tags: trunk)
2009-08-26
00:26
Updates to the pluggable page cache documentation. (check-in: 3085ad7612 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: 58db7e7166 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: 3fb3686a45 user: drh tags: trunk)
14:59
Attempt to clarify the meaning of a "parameter" in the sqlite3_bind() API documentation. (check-in: 9389e6a7da 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: 6a623e6cf0 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: d33b9eb256 user: drh tags: trunk)
13:10
Fix an uninitialized variable in sqlite3VdbeIdxRowid(). (check-in: 6e787e18fa user: drh tags: trunk)
12:11
Merge together the os_unix.c fix of [aa6acfa8ca] and the trigger fix of [dee1b8eb40]. (check-in: 1e2c6e134e user: drh tags: trunk)
05:57
Fix a bad interaction between "proxy-locking" and aa6acfa8ca. (check-in: 2a5c9e1dbf 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: c0ea4e9a7d user: drh tags: trunk)
18:57
Fix some errors in aa6acfa8ca. (check-in: 82d1934a42 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: dee1b8eb40 user: drh tags: trunk)
2009-08-22
19:17
Remove an obsolete documentation file left over from SQLite version 1.0. (check-in: f7eb1efc37 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: aa6acfa8ca 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: 9b4d9ab62d 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: 75f596a04a 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: 11a669b653 user: dan tags: trunk)
02:13
Updated sqlite3AtoF() that performs slightly better with GCC, and significantly better with MSVC. (check-in: f084f5a8ba user: shane tags: trunk)
02:07
Updates for test_init.c for configure and other consistency changes. (check-in: 3ba316e9a3 user: shane tags: trunk)
2009-08-20
23:05
Remove a redundant OOM test from the sqlite_stat2 analysis loader. (check-in: d30ceeb8b3 user: drh tags: trunk)
20:05
Simplifications to the range-scan logic in support of structural testing. (check-in: bbbee81075 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: f0c24b5fb8 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: cbfe6e9df3 user: dan tags: trunk)
13:45
Incremental code and comment cleanup in where.c. There is more to be done. (check-in: 4a5d9550bd user: drh tags: trunk)
02:49
Set the "type" correctly of built-in BINARY collating sequences for UTF16. (check-in: 167644f33c user: drh tags: trunk)
02:34
All the sqlite3GetCollSeq() function to specify an arbitrary text encoding. (check-in: 4ee44322ca 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: 2467eb68ac 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: 71ea9d0e14 user: dan tags: trunk)
16:34
Fix an assert() failure that may follow an OOM error. (check-in: 14a715c563 user: dan tags: trunk)
16:21
Merge 29cafcfdcc and a6f39181a7. (check-in: 740a93e89c user: dan tags: trunk)
15:57
Documentation improvements in sqlite.h.in. No changes to code. (check-in: a6f39181a7 user: drh tags: trunk)
15:34
Add some tests that use the sqlite_stat2 table in shared-cache mode. (check-in: 29cafcfdcc user: dan tags: trunk)
14:42
Merge with 709e16145e. (check-in: 6c8a0e2b37 user: dan tags: trunk)
14:34
Clean up sqlite_stat2 related code. Add test cases. (check-in: aa728e06ce 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: 67207a15bd 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: 362665e89c user: dan tags: trunk)
04:24
Adjust sync count for SQLITE_DISABLE_DIRSYNC compiler option. (check-in: 709e16145e user: shane tags: trunk)
2009-08-18
16:24
Change the sqlite_stat2 schema to be more flexible. (check-in: ded9dec645 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: 093917d7fd user: drh tags: trunk)
15:33
Move the allocation of the memsys5 mutex into the initializer. (check-in: 4e377a09c1 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: 577bd6f155 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: d4e7e2d823 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: 783b751a38 user: drh tags: trunk)
2009-08-17
17:06
First version of sqlite_stat2 (schema forces exactly 10 samples). (check-in: dd96bda2a8 user: dan tags: trunk)
16:01
Always call sqlite3_malloc() in sqlite3OsInit(), even when not compiled with SQLITE_TEST. (check-in: b98a8706a6 user: drh tags: trunk)
15:52
Move error simulation code from the sqlite3_os_init() functions into a wrapper. (check-in: 67ad21abf8 user: dan tags: trunk)
15:31
More documentation and comment updates for sqlite3_initialize/shutdown interface changes to handle failures. (check-in: 32509bc733 user: shane tags: trunk)
15:16
Add tests to check that sqlite recovers from an error in sqlite3_initialize() correctly. (check-in: 904a371c6c 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: 98c49e6135 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: 78dfe8321d 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: 0d5b058717 user: drh tags: trunk)
17:53
Work around an over-zealous optimization in GCC 4.3.3. See CVSTrac ticket #4027. (check-in: 9cbe365405 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: 43321a5560 user: dan tags: trunk)
16:15
Fix to the "publish.sh" script that was broken by the previous check-in. (check-in: 34c21210eb 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: 302dabe98f user: drh tags: trunk)
2009-08-13
20:15
Fix typos in comments used to generate documentation. CVSTrac tickets #4028 and #4029. (check-in: 1fc73b9146 user: drh tags: trunk)
19:54
Tweak to the new whereB.test file to make it more consistent. (check-in: 06098505fc 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: e72186f2d6 user: dan tags: trunk)
18:14
Enhancements to the whereB.test to check more affinity corner cases. (check-in: 1048459824 user: drh tags: trunk)
17:14
Add a test case for the affinity problem reported by ticket [93fb9f89d6]. (check-in: 149ec24e61 user: drh tags: trunk)
15:42
Merge the accidental fork. (check-in: 86a06dd049 user: drh tags: trunk)
15:13
Fix a typo on a comment in sqlite3VdbeIntegerAffinity(). (check-in: b5a709d360 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: 19f799b32f user: dan tags: trunk)
2009-08-12
15:34
Fixed some compiler warnings in WINCE only sections when using the MSVC compiler. (check-in: 1f0a93e17d 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: b0848925ba 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: 7f4810747b user: danielk1977 tags: trunk)
2009-08-10
17:48
Reduce the maximum supported sector size to 64KiB. (CVS 6970) (check-in: 8e1e0ba292 user: drh tags: trunk)
15:16
Version 3.6.17 (CVS 6969) (check-in: 3665010228 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: 3172a29692 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: ace499506e user: danielk1977 tags: trunk)
04:26
Change mallocI.test to close a database connection that was being left open. (CVS 6966) (check-in: 4f0096d7ef user: danielk1977 tags: trunk)
03:57
Removed some warnings from the MSVC compile. (CVS 6965) (check-in: ee034cfc71 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: 04cafb7ee3 user: shane tags: trunk)
2009-08-08
18:01
Suppress various compiler warnings. (CVS 6963) (check-in: 257e9b5750 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: 8293fa19c0 user: danielk1977 tags: trunk)
2009-08-06
18:36
Mark the rtreeUpdate function as static. (CVS 6961) (check-in: b6bdfdc69d user: danielk1977 tags: trunk)
17:43
Alternative fix for ticket #3810. This is a replacement for check-in (6956). (CVS 6960) (check-in: ba1afc0401 user: drh tags: trunk)
17:40
Change a hyperlink label on shared cache mode documentation. No changes to code. (CVS 6959) (check-in: 3d08ca0e54 user: drh tags: trunk)
2009-08-05
04:08
Simplified conditional for read-only lock in winceLockFile() function. Ticket #3991. (CVS 6958) (check-in: a1c184cd2a 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: 9bca5a0e8f 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: 102785b9fb user: drh tags: trunk)
15:54
Add a testcase for ticket #3810. (CVS 6955) (check-in: 29972f7445 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: 359d78e144 user: drh tags: trunk)
15:04
Increment the version number in preparation for the next release. (CVS 6953) (check-in: 12d9b87316 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: 8161af840e 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: 5a82620efa 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: 4571aa9e91 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: b2784cf5d8 user: danielk1977 tags: trunk)
08:43
Fixed reversed labels in WHERETRACE() statement. Debugging code only. (CVS 6948) (check-in: 614a8d8315 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: 224bc69a04 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: d486811715 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: 3616766a6f 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: 886e665f6c user: drh tags: trunk)
19:31
Remove obsolete assert and testcase macros related to ticket #2565 (CVS 6943) (check-in: f0024b3189 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: 04211e6af9 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: 1d931f7751 user: danielk1977 tags: trunk)
17:33
Change a condition to a '%' operator in bitvec.c. (CVS 6940) (check-in: 10250fe5c0 user: drh tags: trunk)
17:08
More simplifications to pager.c. (CVS 6939) (check-in: 533d6cc67a user: drh tags: trunk)
15:24
Simplifications and comment improvements to pager.c in support of coverage testing. (CVS 6938) (check-in: 5b70b5c19c 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: cc9430e334 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: 0315383163 user: danielk1977 tags: trunk)
11:46
Add files that should have gone in with the previous checkin. (CVS 6935) (check-in: 64c7afc704 user: danielk1977 tags: trunk)
11:40
Add a complex assert() that checks a pager invariant. (CVS 6934) (check-in: 2e08ad7bf6 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: 3b6d370ed6 user: drh tags: trunk)
00:13
Remove two more overzealous assert() statements. (CVS 6932) (check-in: 788aa9dde9 user: drh tags: trunk)
00:10
Remove an overzealous assert() from pager.c. (CVS 6931) (check-in: 4a924b475a user: drh tags: trunk)
2009-07-24
21:23
Fix an issue with the previous check-in, (6929). (CVS 6930) (check-in: e5165c80ab user: drh tags: trunk)
19:01
Further simplifications to pager.c in support of structural coverage testing. (CVS 6929) (check-in: 866216c0b6 user: drh tags: trunk)
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) (check-in: 5d9e767a05 user: danielk1977 tags: trunk)
16:32
Simplifications to pager.c in support of structural coverage testing. (CVS 6927) (check-in: 7222ad2667 user: drh tags: trunk)
12:35
Simplifications and comment improvements in pager.c. (CVS 6926) (check-in: 2d2f42ca0a user: drh tags: trunk)
2009-07-23
01:44
Simplifications and comment enhancements on btree.c. (CVS 6925) (check-in: 5ba880dde8 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: 803ec79f3b user: danielk1977 tags: trunk)
18:07
Simplifications to btree.c in support of coverage testing. (CVS 6923) (check-in: 375fd6f9c5 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: 2594f01c73 user: danielk1977 tags: trunk)
14:08
Fix a double-free that can occur after database corruption is detected. (CVS 6921) (check-in: 5260e8b104 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: 1e510d7fc5 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: 7f3fc7f20f 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: 3808322895 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: 96cfd07952 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: 0b41dfc066 user: danielk1977 tags: trunk)
19:02
Additional simplifications to btree.c in support of coverage testing. (CVS 6915) (check-in: 716fccea58 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: 110998f18a user: drh tags: trunk)
11:52
Changes to btree.c in support of coverage testing. (CVS 6913) (check-in: 4cf23e9e86 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: a159e9d247 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: 7dcf2a7872 user: drh tags: trunk)
12:33
Use an ALWAYS() on a conditional in btmutex.c that is always true. (CVS 6910) (check-in: 609022caff 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: 7572991bc2 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: 0ba17c0483 user: drh tags: trunk)
2009-07-18
20:01
Code tweaks in support of full-coverage testing. (CVS 6907) (check-in: 22c6dbfdce 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: f5f7259d81 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: 630e669b97 user: danielk1977 tags: trunk)
08:30
Changes to test scripts so that (make test) works when OMIT_INCRBLOB is defined. (CVS 6904) (check-in: 1dd834a3d6 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: 910df46e0f 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: 046efe46b5 user: danielk1977 tags: trunk)
14:37
Skip all tests in tableapi.test if SQLITE_OMIT_GET_TABLE defined. Ticket #3975. (CVS 6901) (check-in: 0219a54336 user: shane tags: trunk)
11:44
Code simplifications in support of structural testing. (CVS 6900) (check-in: fb1b955dda user: drh tags: trunk)
2009-07-16
18:21
Code simplifications and comment improvements in support of structural coverage testing. (CVS 6899) (check-in: 9452517981 user: drh tags: trunk)
12:41
Remove an unused variable from sqlite3ExprListDup(). Ticket #3973. (CVS 6898) (check-in: 17c05aefd6 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: 6242db39f7 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: d3897235d7 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: a42dc51e3b 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: cfbeda1b31 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: 0c710c1be5 user: drh tags: trunk)
17:48
Simplifications to the PRAGMA integrity_check logic. Remove unreachable code. (CVS 6892) (check-in: 17749fa548 user: drh tags: trunk)
14:15
Simplifications and tweaks to vdbeaux.c resulting from structural testing. (CVS 6891) (check-in: fa49666fb9 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: 25dd342283 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: 1c2bfc43a4 user: drh tags: trunk)
13:18
Change an unreachable condition in btree.c to a NEVER(). (CVS 6888) (check-in: 9f800e1139 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: b9be365d85 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: 3151dab9c7 user: danielk1977 tags: trunk)
07:30
Remove a case from BtreeMovetoUnpacked() that is unreachable as of (6881). (CVS 6885) (check-in: 39ce2097da user: danielk1977 tags: trunk)
2009-07-12
02:32
Simplifications to btree.c to help facilitate coverage testing. (CVS 6884) (check-in: dfb146ef00 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: d0964b9366 user: drh tags: trunk)
2009-07-11
18:26
Remove an unused parameter from the accessPayload() function in btree.c. (CVS 6882) (check-in: 7deb6568d8 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: 6994b41a94 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: 618a83d65f user: drh tags: trunk)
13:13
Unwind some complex conditions in sqlite3BtreeDelete() into separate "if" statements. (CVS 6879) (check-in: d99bde9ca6 user: drh tags: trunk)
11:45
Remove another unreachable branch from btree.c. (CVS 6878) (check-in: b0853100a9 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: 709576c670 user: danielk1977 tags: trunk)
05:06
Remove unreachable condition from btree.c. (CVS 6876) (check-in: 47b40fefa6 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: c6dfc8bd39 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: c19d419e8c user: danielk1977 tags: trunk)
02:52
Simplifications to the PRAGMA integrity_check logic in btree.c. (CVS 6873) (check-in: 440c573c7e 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: 9403f04dfd user: drh tags: trunk)
11:36
Remove an unused branch from btree.c. (CVS 6871) (check-in: 45efb78a8a 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: 3190eefd5f 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: 1d96ce8c76 user: danielk1977 tags: trunk)
03:20
removed the test function sqlite3BtreeFlags() (test code only); (CVS 6868) (check-in: 579ba6c83f user: shane tags: trunk)
02:48
removed unused functions from test3.c (test code only); (CVS 6867) (check-in: 0eb69e8dda user: shane tags: trunk)
02:24
Simplifications and additional testcase() macros for btree.c. (CVS 6866) (check-in: 1b8c3a8246 user: drh tags: trunk)
2009-07-08
18:50
Fix a typo in (6861): "ifndef SQLITE_TEST" -> "ifdef SQLITE_TEST". (CVS 6865) (check-in: 890dbab28c user: danielk1977 tags: trunk)
18:45
Revert part of (6860) that was accidentally checked in. (CVS 6864) (check-in: 11e295ccd2 user: danielk1977 tags: trunk)
18:12
Add another boundary-condition testcase() macro to btree.c. Correct the comment on modifyPagePointer(). (CVS 6863) (check-in: fed66e8695 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: 5ac991b3ce 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: 196cbf8229 user: drh tags: trunk)
13:55
Fix error handling in sqlite3BtreePutData(). (CVS 6860) (check-in: 86eba4f16f 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: 0cc705c2c4 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: aab82a229a user: drh tags: trunk)
2009-07-07
17:38
Improvements to corrupt database detection in defragmentPage(). (CVS 6857) (check-in: 87bbc8d6b6 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: 06dcfe72a6 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: ea7ed16628 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: ec1e27e33b user: drh tags: trunk)
02:44
Simplifications to btree.c and vdbeaux.c in support of structural coverage testing. (CVS 6853) (check-in: fc2a40a9db 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: 31a5e8192e 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: 471b92f251 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: 30d5ec62ab user: danielk1977 tags: trunk)
00:44
Simplifications and comment cleanup in vdbeaux.c. (CVS 6849) (check-in: 1636e7831a user: drh tags: trunk)
2009-07-04
17:16
Remove unreachable code from function btreeCursor() in btree.c. (CVS 6848) (check-in: c76a366ed4 user: danielk1977 tags: trunk)
15:41
Remove a redundant branch from btree.c. (CVS 6847) (check-in: 133357d2f0 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: 983cb6924b 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: 90deb65835 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: e9849292ab user: drh tags: trunk)
17:23
Remove an unused variable from the test code in test3.c. (CVS 6843) (check-in: 9e35bec9ef 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: d426cc64f6 user: drh tags: trunk)
16:25
Simplify the way the read-uncommitted flag is handled to facilitate test coverage. (CVS 6841) (check-in: e2112d6160 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: c8bf40df7b 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: 304c5110ad 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: 611e704fdf 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: e3c055f167 user: danielk1977 tags: trunk)
05:23
Fix for compilation with OMIT_AUTOVACUUM defined. Ticket #3940. (CVS 6835) (check-in: 8f0591ae98 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: a00aeec21c 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: bfe336a899 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: 29b48972b6 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: 42f9d1e564 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: f17ef37897 user: danielk1977 tags: trunk)
2009-06-27
14:10
Version 3.6.16 (CVS 6829) (check-in: ff691a6b2a 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: 49f22e55d6 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: 653df0afcc 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: 0d345e5923 user: drh tags: trunk)
16:32
Removed a few compiler warnings under MSVC. (CVS 6825) (check-in: f01a9fc375 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: 96729b2d49 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: d8c8145c9d 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: fe02339cb2 user: drh tags: trunk)
12:30
Fix a test script problem in exclusive.test. (CVS 6821) (check-in: a52ef5a421 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: ac14502850 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: 58884b6c50 user: danielk1977 tags: trunk)
09:01
Update test_journal.c to account for (6817). Changes to test code only. (CVS 6818) (check-in: 542ee8cced 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: a5ecffcf02 user: danielk1977 tags: trunk)
2009-06-25
16:11
Fix a problem with a return code being ignored in insertCell(). (CVS 6816) (check-in: bb5f1c0143 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: 6e9140a729 user: drh tags: trunk)
09:40
Replace an "if" condition that is always true in btree.c with an assert(). (CVS 6814) (check-in: daadbd9a8f 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: 8b34076668 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: 52eac078c7 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: 3b8f9dec24 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: ee20b6a23f 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: d8fc373fef user: drh tags: trunk)
05:40
Simplify things by rolling the functionality of balance_shallower() into balance_nonroot(). (CVS 6808) (check-in: 11750c6aee 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: 1330993de8 user: drh tags: trunk)
16:40
Remove a condition from balance_nonroot() that is always true. (CVS 6806) (check-in: c5dc80e6bd 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: da9893e23c user: danielk1977 tags: trunk)
14:39
Update the configure script for version 3.6.16 (CVS 6804) (check-in: b614e554f7 user: drh tags: trunk)
14:18
Update the version number in preparation for the next release. (CVS 6803) (check-in: 207c4a02ba user: drh tags: trunk)
14:15
Simplifications to vdbe.c to promote better test coverage. (CVS 6802) (check-in: 3ffc93d762 user: drh tags: trunk)
11:53
Add a test to verify that #3929 is fixed. (CVS 6801) (check-in: 16c1ae9bde 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: 47ec874947 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: 308f2e6152 user: drh tags: trunk)
18:03
Remove a condition that is always true from btree.c. (CVS 6798) (check-in: 3ec8b37a89 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: bda38f5e86 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: c8f009bd24 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: 971a9650f6 user: danielk1977 tags: trunk)
00:55
Simplifications to vdbe.c in support of coverage testing. (CVS 6794) (check-in: 16680f05bd 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: 4b46805cbc 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: 9a06660037 user: danielk1977 tags: trunk)
2009-06-19
22:50
Improved documentation on the VFS methods. Ticket #3925. (CVS 6791) (check-in: f66fc7713e 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: 605520ec04 user: drh tags: trunk)
18:32
Fix the comment on the sqlite3PExpr() subroutine. Ticket #3924. (CVS 6789) (check-in: 4bb96db6b4 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: 62db08bc0d user: danielk1977 tags: trunk)
16:44
Make sure group_concat() ignores initial NULL values. (CVS 6787) (check-in: 90c3b23cca 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: 37ae5f5e8f user: drh tags: trunk)
02:25
Fix a possible segfault when backing up an encrypted database. (CVS 6785) (check-in: 7d8f178c81 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: 1c8ec2a6e4 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: 87d6796d98 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: ed08b53cd6 user: drh tags: trunk)
11:34
Update the filefmt.test test script to conform to the previous check-in. (CVS 6781) (check-in: 40a40e81b3 user: drh tags: trunk)
11:29
Reduce the minimum usable page space to 480 byte from 500 bytes. (CVS 6780) (check-in: db4fb83536 user: drh tags: trunk)
00:41
Remove the P3 operand from OP_IsNull since it was not being used. (CVS 6779) (check-in: 767ef1e4a1 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: 0def0b76b9 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: 3d7327fd6a 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: 392559465d user: drh tags: trunk)
13:57
Fix a potential segfault following database corruption. Problem made visible by check-in (6772). (CVS 6775) (check-in: 69eb0ff817 user: drh tags: trunk)
13:09
Suppress some -Wextra compiler warnings from GCC. (CVS 6774) (check-in: 59ec937ce2 user: drh tags: trunk)
11:49
Fix a bug affecting secure-delete mode introduced by (6768). (CVS 6773) (check-in: a433ca821c user: danielk1977 tags: trunk)
11:13
Fix for #3918. Also, fix the TRACE macros in balance_nonroot(). (CVS 6772) (check-in: 368e44ec2e user: danielk1977 tags: trunk)
01:17
A minor simplification to the tokenizer. (CVS 6771) (check-in: 18f2076ac2 user: drh tags: trunk)
00:35
Changes to prepare.c and callback.c to promote better test coverage. (CVS 6770) (check-in: 08cca219f1 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: 256ec3c6af 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: 092b276e7d 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: 793c93be16 user: shane tags: trunk)
04:35
Leave out a redundant line in build.c. Ticket #3916. (CVS 6766) (check-in: d9f997aeb7 user: danielk1977 tags: trunk)
04:31
Remove a duplicate assert from btree.c. Ticket #3915. (CVS 6765) (check-in: d89542cd8b 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: a49c2d4bef 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: 1591b8322b user: drh tags: trunk)
18:32
Updates to resolve.c to facilitate full coverage testing. (CVS 6762) (check-in: c50f0f28df user: drh tags: trunk)
16:27
Fix compiler warnings with MSVC build. (CVS 6761) (check-in: e1e6430752 user: shane tags: trunk)
03:28
Version 3.6.15 (CVS 6760) (check-in: aff34826aa user: drh tags: trunk, release, version-3.6.15)
00:04
Update the configuration script for version 3.6.15. (CVS 6759) (check-in: 14df65dc04 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: 3448b39dcd 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: caebfe82cb 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: a5b182f93b 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: fe9c917734 user: drh tags: trunk)
12:50
In lemon: omit unused entries from the end of the yyFallback array. (CVS 6754) (check-in: 9cfbe2ba68 user: drh tags: trunk)
12:04
Enable the SQLITE_LIMIT_FUNCTION_ARG limiter. (CVS 6753) (check-in: a17e331717 user: drh tags: trunk)
11:42
Remove a C++-ism from the code. Ticket #3912. (CVS 6752) (check-in: bc729bc3e6 user: drh tags: trunk)
03:47
An additional memory leak in the parser fixed. Ticket #3911. (CVS 6751) (check-in: 6197b49271 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: bd341a103c user: drh tags: trunk)
02:27
Modifications to the parser to eliminate unreachable code. (CVS 6749) (check-in: 457e0b245b 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: 73ba841ac1 user: drh tags: trunk)
17:04
Add an ALWAYS() to a conditional in where.c. (CVS 6747) (check-in: 1fdb3e1e9a user: drh tags: trunk)
00:47
Changes to reenable codec operation and to handle memory allocation failures within a codec. (CVS 6746) (check-in: 43a6ca98b1 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: 78a391dca0 user: drh tags: trunk)
11:07
Remove a NEVER() that can sometimes occur on an OOM error. (CVS 6744) (check-in: c27f23bbaf user: drh tags: trunk)
09:11
Minor tweak to balance_quick() to save a few instructions. (CVS 6743) (check-in: 9ace995910 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: e9b55ccc8b user: drh tags: trunk)
18:58
Fix compiler warnings with MSVC build. (CVS 6741) (check-in: 0bd84e7387 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: 9d3329891c user: shane tags: trunk)
18:02
Require that the buffer specified by SQLITE_CONFIG_HEAP be 8-byte aligned. (CVS 6739) (check-in: 18b78068cc user: drh tags: trunk)
18:01
Changes to tokenize.c to facilitate full coverage testing. (CVS 6738) (check-in: 5e8c48cff7 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: ed1d4f47ee 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: a7d0817c17 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: 56bff6eb2f 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: 2e5d42aeb4 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: 49f544ebae 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: 8f1c1f61f7 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: cc9c12170c user: drh tags: trunk)
17:11
Clarification of the operation of the OR-term optimizer in where.c. (CVS 6730) (check-in: 6b42dc3d04 user: drh tags: trunk)
14:49
Change the btree balance code so that it does not call balance_nonroot() recursively. (CVS 6729) (check-in: 7863db904d user: danielk1977 tags: trunk)
12:52
Increase the version number to 3.6.15 in preparation for the next release. (CVS 6728) (check-in: 456ea541d6 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: a255c645c4 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: ba9848e7b8 user: drh tags: trunk)
16:08
Fix an error in the malloc.test test script causing a small buffer overread. (CVS 6725) (check-in: 4d129bee69 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: 127b139819 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: 3fd6c72da5 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: 3ae4880bee 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: 1fef16ec2b user: drh tags: trunk)