SQLite4
Timeline
Not logged in

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

744 check-ins using file test/log2.test version c5d3129918

2019-05-29
13:55
Fix type on the homepage. Leaf check-in: 1433690d7b user: drh tags: trunk
13:35
Update the homepage to try to make it more clear that the SQLite4 effort has ended. check-in: 042b751618 user: drh tags: trunk
2017-10-27
15:49
Update the README into a README.md and clearly state that work on SQLite4 has concluded, lest there be any doubt. check-in: c0b7f14c09 user: drh tags: trunk
2016-07-28
13:44
Fix typo in the LSM documentation. check-in: c2d3bd7694 user: drh tags: trunk
2015-08-15
18:03
Fix typo in comments. No code changes. check-in: 7df97b5937 user: drh tags: trunk
2014-09-19
18:48
Fix an assert() in lsm_shared.c. check-in: 90c09b0451 user: dan tags: trunk
2014-05-12
21:07
Added -lm to the build flags for Makefile.gcc-linux, based on ML feedback. check-in: 26964761e2 user: stephan tags: trunk
2014-05-07
09:49
Fix a memory leak in LSM. check-in: 8a39847daf user: dan tags: trunk
2014-03-18
19:29
Fix an important typo in the varint decoder documentation. check-in: f392aec8a5 user: drh tags: trunk
2014-02-22
19:54
Add other bt optimizations. Fix a problem in mutex_noop.c. check-in: 1ecbf355e3 user: dan tags: trunk
2014-02-21
17:36
Performance tweaks for seek operations. check-in: 18ae7f9855 user: dan tags: trunk
2014-02-19
11:28
Fix a couple of problems related to log recovery and checkpointing. check-in: e64f3ba5f0 user: dan tags: trunk
2014-02-18
20:01
Add crash simulation and recovery test infrastructure. And one test case. check-in: cd8da865a4 user: dan tags: trunk
2014-02-17
18:39
Add IO error tests for the bt backend. check-in: 9638da92b6 user: dan tags: trunk
09:26
Have the bt backend support "PRAGMA page_size". check-in: 5aca057cad user: dan tags: trunk
2014-02-15
20:29
Defer opening a bt database until it is first read. check-in: d9560b73de user: dan tags: trunk
17:04
Add some human readable text to the bt file header. Refuse to open a database (SQLITE_NOTADB) if a valid header cannot be located in the database or wal files. check-in: b942b91a3d user: dan tags: trunk
2014-02-14
18:53
Fix memory leaks in test suite. check-in: f4d0f55571 user: dan tags: trunk
16:21
Run extra tests with the bt backend. check-in: 1aefe7ef1e user: dan tags: trunk
2014-02-08
10:51
Fixes so that tcl tests run with bt. check-in: b7f86e5617 user: dan tags: trunk
2014-02-05
20:05
Fix a buffer overrun occuring when many overflow pages are recycled by a merge operation. check-in: 28340557fc user: dan tags: trunk
19:10
Add extra tests and fixes. Make the block size and page size configurable. check-in: b43e752c98 user: dan tags: trunk
2014-02-04
19:40
Fix a couple of other bugs. check-in: 822a5aad62 user: dan tags: trunk
2014-02-03
17:30
Fix a problem with reading very large delete-key entries. check-in: 0cabe78ef4 user: dan tags: trunk
15:54
Zero shared-memory before attempting recovery operations. check-in: 4cb2e9c5af user: dan tags: trunk
07:40
Fix various problems causing block and page leaks during merge operations. check-in: aaac4355c7 user: dan tags: trunk
2014-01-26
17:13
Fix a bug in merge-tree rollback operations. check-in: 60c8db5553 user: dan tags: trunk
2014-01-25
15:14
Fix a problem with iterating in reverse order through the merge-tree. check-in: 6998cd99b8 user: dan tags: trunk
2014-01-23
19:00
And another bug in merging. check-in: 1b27f1ca1e user: dan tags: trunk
18:00
Fix another bug in level merging. check-in: 24aea74e9f user: dan tags: trunk
2014-01-21
20:40
Fix a problem with BT_SEEK_GE on the merge-tree when it contains partially merged deletes. check-in: 0d9860b35b user: dan tags: trunk
18:59
Fix a problem preventing the database header from being written correctly. check-in: 7abccde8a3 user: dan tags: trunk
2014-01-09
20:36
Fix even more bugs in merging. check-in: 9f83998312 user: dan tags: trunk
15:37
Further bug fixes for merge routines. check-in: ef14a93b8b user: dan tags: trunk
2014-01-08
20:29
Fill in more merging code. Fix many bugs. check-in: 885387b919 user: dan tags: trunk
2014-01-07
20:41
Begin adding code to update the meta tree with the results of a merge. check-in: 4db4b4ceeb user: dan tags: trunk
10:37
Apply fixes to the build system and rename a few things in the bt code so that sqlite4.c can be compiled. check-in: f0eee06cf0 user: dan tags: trunk
2014-01-06
20:30
Add merging code. check-in: ad91883237 user: dan tags: trunk
2014-01-03
19:36
Save sub-tree root page numbers, instead of block numbers, in the meta-tree. check-in: 6003e7dcc2 user: dan tags: trunk
2014-01-02
18:53
Changes to FiCursor object to support reading merged blocks. check-in: 27248a1ebc user: dan tags: trunk
2013-12-14
18:59
Add scheduling of fast-insert merges to bt. Merges are not performed yet, just scheduled. check-in: 590e0410b1 user: dan tags: trunk
2013-12-07
20:38
Add notes describing schedule pages to bt.wiki. check-in: 1df60437f3 user: dan tags: trunk
2013-12-06
20:11
Fix problems with delete markers and range scans. check-in: ccf5a6bb6a user: dan tags: trunk
2013-12-05
20:08
Support scan queries on fast-insert data. Still some problems. check-in: 0cd2ab7e9e user: dan tags: trunk
2013-11-28
18:24
Write a delete-key into the top level of the fast-insert tree when an item is deleted. Change the seek code so that if a delete-key is encountered SQLITE4_NOTFOUND is returned to the caller. check-in: d9fa045dd7 user: dan tags: trunk
15:23
Make a small change to the bt cell formats to accommodate delete keys. check-in: a5186d0b0a user: dan tags: trunk
2013-11-27
18:44
Fix a bug in sqlite4BtCsrFirst(). check-in: 10d25d2516 user: dan tags: trunk
18:21
Begin adding code for querying the fast-insert tree. check-in: 65735e3ca9 user: dan tags: trunk
14:40
Allocate blocks of space (not individual pages) within the database file for sub-trees. check-in: 5986afca58 user: dan tags: trunk
2013-11-26
20:35
Have the low-level b-tree insert routine return BT_BLOCKFULL if a level-0 tree is full. check-in: 65642c32ba user: dan tags: trunk
2013-11-25
20:50
Begin adding code for blind-writes. check-in: fc9cdc6ca3 user: dan tags: trunk
2013-11-23
18:41
Add a BT_CONTROL_INFO option to query for database header values. Add a command line interface to lsmtest to access this and other options. "lsmtest bt <filename> <option> ....". check-in: e09d4c6aa8 user: dan tags: trunk
2013-11-22
18:06
Fix a couple of bugs to do with recovering the database header and recycling large overflow trees. check-in: 8341d438d3 user: dan tags: trunk
2013-11-21
18:46
Add code to free pages and blocks. check-in: 1a0d07f113 user: dan tags: trunk
2013-11-20
19:23
Combine the bt database and shm headers. check-in: 1512aee6f6 user: dan tags: trunk
2013-11-16
20:35
Add test code to run bt checkpoints in a background thread. Various fixes and tweaks to support this. check-in: 439684c450 user: dan tags: trunk
2013-11-15
19:18
Add test file fkey2.test to the list of files used by the "bt" permutation. check-in: 5c2af9e0b7 user: dan tags: trunk
18:47
Various fixes so that the "bt" permutation test passes. check-in: 0866df185c user: dan tags: trunk
09:44
Add a checksum to the database header. check-in: cba26fd7cc user: dan tags: trunk
2013-11-14
19:29
Fix various savepoint-related problems in bt. check-in: c633d85c33 user: dan tags: trunk
2013-11-13
16:34
Fix a problem in the VM code generated for a CREATE INDEX statement. check-in: e42f8bb1c2 user: dan tags: trunk
15:21
Fix an issue with using a bt cursor after sqlite4BtCsrDelete() has been called on it. check-in: f10991c423 user: dan tags: trunk
2013-11-11
20:27
Add the BT_CONTROL_MULTIPROC option. check-in: 7343be21c9 user: dan tags: trunk
20:06
Add support for multiple processes to bt. check-in: 1336c5d00a user: dan tags: trunk
2013-11-09
17:32
Add BT_CONTROL directives to configure the safety-level and auto-checkpoint parameter. Fix bugs. check-in: 15856cf080 user: dan tags: trunk
2013-11-08
20:18
Fix a robustness related problem with wrapped logs. check-in: 7dd7b942fd user: dan tags: trunk
17:50
Add missing calls to xSync(). Fix a problem with recovering wrapped logs. check-in: 93af0d7d05 user: dan tags: trunk
2013-11-07
20:22
Begin adding tests to check that bt database transactions are robust in the face of system failure. check-in: 5d57889261 user: dan tags: trunk
2013-11-04
18:21
Fix various multi-client bugs preventing the multi-threaded tests from passing. check-in: 3c32332c59 user: dan tags: trunk
2013-11-02
18:28
Fix a problem with skipping past a section of log still in use. check-in: f96d760355 user: dan tags: trunk
10:31
Modify the way read-locks are taken to avoid unnecessary SQLITE4_BUSY errors. check-in: 1d06636492 user: dan tags: trunk
2013-11-01
19:54
Use the log to store the page-size, database size and user cookie value instead of writing these directly to the database header. check-in: 37983095fd user: dan tags: trunk
2013-10-31
16:31
Fix some problems causing multi-threaded btree tests to fail. Some still remain. check-in: 67b28147ea user: dan tags: trunk
2013-10-30
19:57
Btree fixes related to multiple client tests. check-in: 58f7282211 user: dan tags: trunk
18:37
Add sub-transactions to btree module. check-in: 9e00823074 user: dan tags: trunk
2013-10-29
17:46
Add code to prevent database writers from overwriting portions of the log that might be required by present or future database readers or recoverers. check-in: 407a82adbf user: dan tags: trunk
2013-10-28
19:48
Add code for taking and querying read-locks. Untested. check-in: ef0cf1ade3 user: dan tags: trunk
10:56
Fix a problem causing builds without LSM_NO_SYNC to fail. check-in: f8ce90c4a6 user: dan tags: trunk
10:47
Fix some problems with circular logs. check-in: 4b36a0245f user: dan tags: trunk
2013-10-26
19:58
Begin adding code to make the log file circular. check-in: ec6dda0ade user: dan tags: trunk
12:44
Use sqlite4_malloc instead of malloc in test fixture for num check-in: 3f6924e784 user: peterreid tags: trunk
2013-10-25
20:20
Add start of checkpointing code to btree. check-in: 29373a8844 user: dan tags: trunk
02:37
Fix buffer overread when parsing a UTF16 exponent check-in: 9e61c90be4 user: peterreid tags: trunk
01:33
Fix parsing UTF16 nums with multi-digit exponents check-in: 667cfd8694 user: peterreid tags: trunk
01:27
Test sqlite4_num_from_text with UTF16BE and UTF16LE check-in: 9c4e33cc5b user: peterreid tags: trunk
00:33
Add tests for prefix-only and ignore-whitespace flags of sqlite4_num_from_text check-in: 19f7a96631 user: peterreid tags: trunk
2013-10-24
23:59
Fixed flagging infinity as a real (instead of an integer) in sqlite4_num_from_text check-in: 73b8f01f49 user: peterreid tags: trunk
23:54
Add tests for the pbReal output of sqlite4_num_from_text check-in: fd1c1a7d4f user: peterreid tags: trunk
19:59
Updates to code to read log files. check-in: aabb6dacf6 user: dan tags: trunk
2013-10-23
22:54
Prevent unnecessary rounding before multiplying check-in: 68dfaa3491 user: peterreid tags: trunk
22:43
Fix undetected multiplication overflow check-in: 2eba06d522 user: peterreid tags: trunk
20:28
Add connect/disconnect locking. And locking primitives for single-process mode. check-in: f7fc6aeec8 user: dan tags: trunk
19:31
Progress on reading and writing frames from and to the log file. check-in: 5ba2ff0701 user: dan tags: trunk
2013-10-22
19:04
Add "PRAGMA bt_page_dump" to access a specific bt xControl() command. This is probably a temporary solution. check-in: d00d7c08d1 user: dan tags: trunk
16:20
More logging code. check-in: 94016fe5e8 user: dan tags: trunk
2013-10-21
20:04
Continue adding logging to the btree module. Still does not work. check-in: ae62a34eb7 user: dan tags: trunk
2013-10-19
20:24
Begin to add logging to btree database. check-in: ca59333dcd user: dan tags: trunk
05:50
Add missing bt_varint.c file. check-in: e5d33eb472 user: dan tags: trunk
2013-10-18
17:07
Add new file bt_lock.c. Currently contains stubs only. check-in: a4c634a7d6 user: dan tags: trunk
08:28
Trim overflow pages when the corresponding record is deleted from the database. check-in: 547b950db0 user: dan tags: trunk
2013-10-14
14:03
Use key-prefixes instead of full keys on interior nodes. check-in: 449433ea21 user: dan tags: trunk
2013-10-12
20:03
Speed up the assert() used to check that no page references are being leaked. check-in: d276ad3f9e user: dan tags: trunk
19:50
Fix page reference leaks in btree code. check-in: f69b88077c user: dan tags: trunk
2013-10-11
20:04
Btree fixes so that the lsmtest "data*" tests work. check-in: b0fe8e5b45 user: dan tags: trunk
18:07
Fixes for keys that spill over onto overflow pages. check-in: bca95ca536 user: dan tags: trunk
2013-10-10
19:38
Fixes for overflow pages and very large values. check-in: 74e7bb267f user: dan tags: trunk
2013-10-09
20:14
Add code to deal with large values (those that will not fit on a leaf) to the btree code. Large keys are still not working. check-in: 2bd81969a6 user: dan tags: trunk
2013-10-08
20:37
Add hooks to run the "lsmtest" tree-structure tests and performance comparisons on the btree module. check-in: 8140c0abef user: dan tags: trunk
17:38
Fix another bug in b-tree rebalancing. check-in: f4df828793 user: dan tags: trunk
2013-10-07
20:43
Further progress on b-tree module. check-in: 51c2c9358d user: dan tags: trunk
2013-09-28
15:07
Still further progress on the same. check-in: 4431ab2769 user: dan tags: trunk
11:23
Fixes for b-tree balancing routines. Still incomplete. check-in: 9e8d7525d8 user: dan tags: trunk
2013-09-27
20:25
Begin adding routines for b-tree balancing and so on. Incomplete. check-in: 3003f1d99a user: dan tags: trunk
2013-09-25
19:40
Add a bugfix for b-tree deletes. check-in: 88c8fd489d user: dan tags: trunk
18:46
Further btree updates. check-in: 6548088566 user: dan tags: trunk
2013-09-24
20:39
Further progress on b-treee backend. check-in: c954958697 user: dan tags: trunk
2013-09-19
19:19
Further btree updates. check-in: 0b68007d89 user: dan tags: trunk
15:13
Add b-tree design notes to www/ directory. check-in: 8c828db5a6 user: dan tags: trunk
2013-09-18
15:46
Fix enough of bt_pager.c that it may be used for testing the b-tree built on top of it. check-in: 2109619482 user: dan tags: trunk
2013-09-17
20:26
Add new file bt_pager.c. check-in: c8eb0a0cf4 user: dan tags: trunk
2013-09-16
20:25
Further work on b-tree backend. check-in: a1399dac00 user: dan tags: trunk
18:05
Add the beginnings of a simpler embedded b-tree backend. Doesn't do anything yet. check-in: c4135bffd7 user: dan tags: trunk
2013-07-31
17:43
Extra tests for sqlite_kvstore. check-in: 9ce1a04efd user: dan tags: trunk
15:32
Enhance kvmem to honor the SQLITE4_KVOPEN_NO_TRANSACTIONS flag. This makes kvmem significantly faster when used to implement ORDER BY with LIMIT. check-in: 3cb223f975 user: drh tags: trunk
14:38
Allow writing to the sqlite_kvstore if "PRAGMA writable_schema" is set. check-in: 874278817a user: dan tags: trunk
08:37
Fix up test/speed1.test so that it runs. check-in: 8f00d13162 user: drh tags: trunk
2013-07-30
20:27
Combine the OP_MakeIdxKey and OP_MakeKey opcodes into a single OP_MakeKey that does the work of both. Standardize the parameter meanings on OP_MakeRecord and OP_MakeKey. Remove the unused OP_Seek opcode. Other related code simplifications and cleanup. check-in: ed5d6992cd user: drh tags: trunk
20:22
Combine the OP_MakeIdxKey and OP_MakeKey opcodes into a single OP_MakeKey that does the work of both. Standardize the parameter meanings on OP_MakeRecord and OP_MakeKey. Remove the unused OP_Seek opcode. Other related code simplifications and cleanup. Closed-Leaf check-in: 1122ff55e5 user: drh tags: refactor-MakeRecord
20:01
Add experimental sqlite_kvstore table. Currently read-only. check-in: c13692183a user: dan tags: trunk
16:57
Remove an unnecessary function call in lsm_sorted.c slowing down xNext() operations. check-in: 48d0585fff user: dan tags: trunk
15:16
Disable an expensive assert() routine in lsm_sorted.c unless LSM_EXPENSIVE_DEBUG is defined. check-in: c84d1b37c1 user: dan tags: trunk
14:34
Enhanced comments and logic clarification in the OP_MakeIdxKey implementation. check-in: 2054b8483b user: drh tags: trunk
14:16
Checked in untested changes by mistake. Closed-Leaf check-in: 3fe22bbdf0 user: drh tags: mistake
13:22
Remove unused P4 parameter type codes. Other cleanup of P4. check-in: 3fa3e910e2 user: drh tags: trunk
12:14
Simplification of the ORDER BY code generator logic, requiring fewer calls to OP_Column. check-in: eddeadfc27 user: drh tags: trunk
11:55
Reenable fts5 hooks in where.c. check-in: c748d90f94 user: dan tags: trunk
02:47
Update the sorter logic to eliminate the need for pseudo-tables and remove the code that implemented them. check-in: b9e5f3c6df user: drh tags: trunk
02:11
Provide more detail in the P4 column in EXPLAIN output. check-in: 34abc4149f user: drh tags: trunk
01:30
Combine the OP_IdxInsert, OP_SorterInsert, and OP_Insert opcodes into the single OP_Insert opcode. check-in: 3b7caafe8c user: drh tags: trunk
2013-07-29
20:26
Change the name of Column.isPrimKey to Column.iPrimKey, make it a u16, and make it hold the integer column number of the column within the primary key. check-in: 6d33ce14cd user: drh tags: trunk
19:31
Remove the unused OP_InsertInt opcode from the VDBE. check-in: 3e371e1a44 user: drh tags: trunk
18:07
Remove some rowid-related dead code from where.c. Fix other code issues in the same file. check-in: 4856f08944 user: dan tags: trunk
17:57
Code clarifications: Do not overload the "nField" variable (in the OP_MakeRecord opcode) to mean something other than the number of fields to be encoded. check-in: 20962f1a72 user: drh tags: trunk
17:15
Improved EXPLAIN output for the OP_Permutation and OP_Blob opcodes. check-in: 753ffb5857 user: drh tags: trunk
12:31
Fix an typo affecting virtual WHERE clause terms made in [3f4a1c7648]. check-in: 736b5e6a1a user: dan tags: trunk
2013-07-27
18:52
Fixes for sqlite_stat3 related functionality. Also EXPLAIN QUERY PLAN. check-in: 2fbe583868 user: dan tags: trunk
2013-07-26
21:13
Remove unused fields from KeyInfo. Enhancement the EXPLAIN output for KeyInfo P4 columns. check-in: 9eb585660b user: drh tags: trunk
20:04
Update where.c with patches from sqlite3. src4 where.c is now based on sqlite3 artifact 1a26c37b7b. check-in: 3f4a1c7648 user: dan tags: trunk
19:13
Fix some issues with assigning costs to loops in where.c. check-in: faac50a266 user: dan tags: trunk
16:59
Fix minor errors in the key encoder. check-in: 0a923f20d2 user: drh tags: trunk
16:20
Change the data encoding (again) to make content-in-key use fewer bytes, since one suspects that this will become a common encoding. FILE FORMAT CHANGE. check-in: 0275ee48db user: drh tags: trunk
15:30
Add decoder logic to facilitate extracting column values from the key of a key/value pair for a row. check-in: 30167422e4 user: drh tags: trunk
2013-07-25
23:26
Add the kvreplace(K,V) pragma for use in testing. check-in: b5ceafc26f user: drh tags: trunk
20:02
Partially reenable automatic indexes. Six legacy tests cases in autoindex1.test are still failing as of this commit. check-in: 2244abfac2 user: dan tags: trunk
15:13
Reenable the whereShortCut() optimization. check-in: 97c7b5580f user: dan tags: trunk
14:18
Update test file eval.test to account for caching in the RowDecoder. check-in: 3bbe9e80b8 user: dan tags: trunk
12:12
Fixes to sqlite4FindInIndex so as to handle WHERE clauses of the form "x IN (SELECT a FROM tbl)" where there are usable indexes on both "a" and "x". check-in: 856ed13e06 user: dan tags: trunk
02:52
Update comments on OP_MakeRecord. No changes to code. check-in: 70d85ff051 user: drh tags: trunk
01:12
Fix the RowDecoder caching logic by adding new cache clears to opcodes that move the cursor. check-in: d5abe1bca0 user: drh tags: trunk
00:55
Enhance the RowDecoder object so that it persists on a VdbeCursor and can be reused for multiple OP_Column operations. This opens the possibility of adding caching of header information and/or values in a later check-in. check-in: 6ed358511b user: drh tags: trunk
2013-07-24
21:38
Move all VdbeCursor methods into the vdbecursor.c source file. check-in: 5d08b14478 user: drh tags: trunk
20:07
Rename the ValueDecoder object to RowDecoder, in anticipation of enhancing it to be able to extract content from both the key and the value. Simplifications and cleanup of the VdbeCursor object. check-in: 6c7c9133d7 user: drh tags: trunk
19:25
Replace test file distinct.test with the version from sqlite3. This version accounts for NGQP related changes. check-in: 41fc47c1cd user: dan tags: trunk
18:56
Remove routines related to sqlite3 varint format. check-in: a30bf1665b user: dan tags: trunk
18:47
Remove the (non-working) xfer-optimization code. check-in: edd188471c user: drh tags: trunk
18:30
Reenable covering index support in NGQP. check-in: 9e99914519 user: dan tags: trunk
2013-07-23
16:50
Change where.c to read values from covering indexes instead of tables whenever possible. Modify OP_SeekPk to defer seeks (as OP_Seek does in sqlite3). check-in: 7f6b4708c2 user: dan tags: trunk
2013-07-22
20:12
Add two new value-encoding header codes to represent REAL-IN-KEY and NONREAL-IN-KEY. This is an incompatible file format change. check-in: b7ac369ba7 user: drh tags: trunk
19:49
Fix compiler warnings. check-in: 610033d7f5 user: drh tags: trunk
18:38
Add the COVERING clause to CREATE INDEX statements. Does not work yet, this commit just adds parser support. check-in: 1710627ec6 user: dan tags: trunk
13:24
Disable automatic indices at all times. They do not currently work. Needs to be fixed. check-in: 446fbd37d1 user: drh tags: trunk
12:50
Merge the NGQP branch back into trunk. Currently 12 tests are failing in src4.test (all errors are artifacts of the test code). check-in: 4af30d63ec user: dan tags: trunk
12:28
Changes necessary to get TH4 to compile again. check-in: 15e8dd41a9 user: drh tags: trunk
2013-07-20
20:20
Fix for optimization of DISTINCT. Leaf check-in: ed333d20c7 user: dan tags: nextgen-query-planner
16:32
Update test script e_fkey.test. check-in: dd9849225b user: dan tags: nextgen-query-planner
16:10
Another problem with LIKE optimization. check-in: 3eaf921c5b user: dan tags: nextgen-query-planner
2013-07-19
20:03
Update a couple of test case files. check-in: 3b9ae7c6db user: dan tags: nextgen-query-planner
19:20
Fix a bug to do with ORDER BY and collation sequences. check-in: 57b8ae848c user: dan tags: nextgen-query-planner
18:33
Fix some problems to do with optimizing ORDER BY queries. check-in: cc7bc86da5 user: dan tags: nextgen-query-planner
2013-07-18
19:53
Fix some problems with the LIKE optimization. check-in: 8330a46831 user: dan tags: nextgen-query-planner
00:58
Fix a typo in the "key format" documentation. check-in: 4beefed2c9 user: drh tags: trunk
2013-07-17
20:03
Fix a bug preventing the planner from finding sorting indexes. check-in: 6f06ebee56 user: dan tags: nextgen-query-planner
18:49
Further updates to ngqp code. check-in: 9844269b3d user: dan tags: nextgen-query-planner
2013-07-16
20:01
Updates to use the next-generation-query-planner from the SQLite3 project. This branch is largely broken. check-in: bc9c9f73c5 user: dan tags: nextgen-query-planner
2013-07-06
23:14
Add tests for sqlite4_num_sub with inf and nan. check-in: ed79d6f7fa user: peterreid tags: trunk
23:07
Change some repetitive num tests into loops. check-in: abaf3f1abd user: peterreid tags: trunk
22:55
Remove unused variables from sqlite4_num_mul. check-in: 1d4a5055fa user: peterreid tags: trunk
22:43
Multiplying NaN*Inf returns NaN, as Inf*NaN already did. Add related test cases. check-in: 04dad0b7c9 user: peterreid tags: trunk
04:15
Remove no-longer-used P4_REAL type for VdbeOp, which has been replaced by P4_NUM. check-in: 960d38f214 user: peterreid tags: trunk
03:59
Display sqlite4_nums correctly when explaining query plans. check-in: 40b76362c9 user: peterreid tags: trunk
2013-07-04
18:44
Copy the new version of script "like.test" from sqlite3 to this project. Then tweak it to work. check-in: 1468464069 user: dan tags: trunk
17:17
Fix a problem with reading utf-8 encoded text values from the database when the first byte of the text is 0x02. check-in: 2711bdb5fd user: dan tags: trunk
2013-06-29
20:12
Also run legacy scripts index.test and laststmtchanges.test. check-in: de90289df1 user: dan tags: trunk
18:46
Run further legacy tests. Fixes for bugs brought to light by the same. check-in: cb7a8b464e user: dan tags: trunk
2013-06-27
20:23
Run some more legacy tests. Fix some issues with converting between text and numeric values. check-in: d6d0e21ad2 user: dan tags: trunk
17:40
Run some more legacy test cases. check-in: 731841907a user: dan tags: trunk
2013-06-26
20:29
Further fixes for legacy test cases. check-in: 22365cae27 user: dan tags: trunk
16:46
Reintroduce pragma command "database_list". Fix a bug in MakeIdxKey. Fix some legacy test case scripts. check-in: 13f06a9fbe user: dan tags: trunk
2013-06-25
20:07
Fixes for ALTER TABLE functionality. check-in: c23ed5d08f user: dan tags: trunk
16:22
Also run analyze8.test as part of src4.test. check-in: 21b5123716 user: dan tags: trunk
15:28
Fix comments and a memory leak in analyze.c. check-in: 8a25008dfe user: dan tags: trunk
14:47
Have the planner always consider the PK index, even when it does not serve to satisfy any contraints or ordering requirements. check-in: 95933bb7ca user: dan tags: trunk
11:58
Run test files analyze5.test, analyze6.test and analyze7.test as part of src4.test. check-in: 8eb90b6647 user: dan tags: trunk
2013-06-24
20:06
Fix another bug in sqlite_stat3 related code. check-in: bad9060b5b user: dan tags: trunk
19:03
Fixes for the sqlite_stat3 related ANALYZE functionality. check-in: f93e75f2b1 user: dan tags: trunk
2013-06-22
19:57
Fixes for SQLITE4_ENABLE_STAT3 builds. check-in: d5d0e93a57 user: dan tags: trunk
2013-06-17
20:15
Modifications to make the ANALYZE command work (sqlite_stat1 only). check-in: 7d8efac62f user: dan tags: trunk
05:35
Remove the sqlite4_progress_handler interface. Change the documentation of load_extension() to say that it sets the db handle error message and code. check-in: 02ec769ae0 user: dan tags: trunk
2013-06-15
19:47
Add destructors to the sqlite4_trace and sqlite4_profile routines. check-in: fd63f9cb75 user: dan tags: trunk
17:45
Add tests to ensure that the collation_needed destructor is invoked as required. check-in: 6e0b04adb9 user: dan tags: trunk
2013-06-14
20:03
Add a destructor function to the collation_needed() API. check-in: 577089fa36 user: dan tags: trunk
18:28
Have sqlite4_authorizer_push() invoke any destructor passed to it if an error (i.e. a malloc failure) occurs. check-in: cb28262fc8 user: dan tags: trunk
17:16
Update create_collation() documentation. Have the create_collation() function invoke the destructor (if one was specified) before returning if it fails. check-in: bcf7a78f8b user: dan tags: trunk
2013-06-13
20:20
Remove the encoding argument from sqlite4_create_collation(). Pass sqlite4_value objects to the collation sequence callbacks instead. check-in: 7f314c9a71 user: dan tags: trunk
16:32
Remove the no longer required FuncDestructor object. check-in: e5d82c92f0 user: dan tags: trunk
15:24
Remove the 'encoding' argument from sqlite4_create_function(). check-in: f88d080127 user: dan tags: trunk
2013-06-12
19:20
Add file selectF.test. check-in: 9678daa99f user: dan tags: trunk
2013-06-11
17:27
Add a note to www/porting.wiki describing the changes to utf-16 support. check-in: 5cd50e225c user: dan tags: trunk
16:48
Remove legacy API functions: complete16(), errmsg16(), column_name16(), column_database_name16(), column_table_name16(), column_origin_name16(), column_decltype16(), create_function16() and collation_needed16(). check-in: c7c533dddc user: dan tags: trunk
15:18
Add tests and minor fixes for the sqlite4_translate() API. check-in: 211c1baef7 user: dan tags: trunk
2013-06-10
19:52
Add the sqlite4_translate() API, for translating between utf-8 and utf-16 text encodings. Also the sqlite4_buffer object. check-in: f56bc22c9e user: dan tags: trunk
2013-06-07
19:29
Allow collation sequence comparison functions to return errors. check-in: 596c1f3869 user: dan tags: trunk
14:36
Change the order of the parameters passed to sqlite4_collation_needed() and needed16() to be consistent with other callback APIs. check-in: 22b6bdf65a user: dan tags: trunk
14:22
Remove the error message output parameter from sqlite4_exec(). check-in: 6833c6df33 user: dan tags: trunk
02:00
Replace placeholder sqlite4_num_to_int32. Change API to be analogous sqlite4_num_to_int64. Add tests. check-in: 762134b4a8 user: peterreid tags: trunk
00:51
Correct comments in header of num test check-in: 8cb787fa4a user: peterreid tags: trunk
00:49
Coverting an approximate sqlite4_num to int64 is flagged as lossy. check-in: b667dab56b user: peterreid tags: trunk
2013-06-06
17:18
Change the names of some API functions to make their purposes clearer: "get_auxdata" -> "auxdata_fetch", "set_auxdata" -> "auxdata_store", "get_autocommit" -> "db_transaction_status", and "sql" -> "stmt_sql". check-in: c8d956ad1a user: dan tags: trunk
16:43
Add documentation for sqlite4_kvstore_methods.xGetMethod. Use the lsm pragmas in various tests instead of the file-controls. check-in: c39156d2b8 user: dan tags: trunk
2013-06-05
20:25
Allow key-value stores to intercept pragma commands. check-in: 0e6201380c user: dan tags: trunk
2013-06-04
15:16
Fix a few warnings relating to unused variables and functions. check-in: 424d39678b user: dan tags: trunk
2013-06-03
19:25
Remove the use of type 'double' from date.c. check-in: fa869b0982 user: dan tags: trunk
15:23
Merge overflow and rounding fixes for sqlite4_num_to_int64(). check-in: e8db1e81a4 user: dan tags: trunk
11:47
Modify the round() and abs() SQL functions to use decimal arithmetic. check-in: 7b3bb63808 user: dan tags: trunk
06:45
Fix handling of text and blob values in the sum() function. check-in: a43972e1eb user: dan tags: trunk
2013-06-01
23:42
Handle overflow and rounding cases in sqlite4_num_to_int64. check-in: de7fb192cb user: peterreid tags: trunk
23:35
Add tests for sqlite4_num_to_int64. check-in: 11fd3e7ec4 user: peterreid tags: trunk
22:58
Fix build error from redundant typedefs in test_mem.c introduced by 75b8ccc0a8. check-in: 3ae7214267 user: peterreid tags: trunk
20:34
Use decimal arithmetic in the sum(), total() and avg() functions. check-in: 23ded9b859 user: dan tags: trunk
06:08
Add missing file test_num.c. check-in: 5ab129f59e user: dan tags: trunk
2013-05-31
19:57
Fix an issue in sqlite4_num_from_text() when parsing "inf" values. check-in: d1792cbf3c user: dan tags: trunk
19:37
Merge sqlite4-num branch with trunk. check-in: 7b0d1cf7f4 user: dan tags: trunk
19:34
Remove OP_Int64 and OP_Real. OP_Num is now used instead. Leaf check-in: 860695f9be user: dan tags: sqlite4-num
19:19
Remove uses of type 'double' from the vdbe. check-in: e018823162 user: dan tags: sqlite4-num
17:13
Use decimal arithmetic in affinity routines. check-in: ae34cd8492 user: dan tags: sqlite4-num
2013-05-30
19:01
Use the same code to encode keys for rowid indexes as regular indexes. check-in: 9265ac66c8 user: dan tags: sqlite4-num
18:26
Change various things to use sqlite4_num instead of double. check-in: ba34125233 user: dan tags: sqlite4-num
2013-05-29
18:52
Further progress on this. src4.test is now passing again. check-in: 9cf2ab46f5 user: dan tags: sqlite4-num
2013-05-28
20:33
Further progress on decimal arithmetic. check-in: b55b217f6a user: dan tags: sqlite4-num
2013-05-25
20:13
Further progress on using decimal arithmetic. check-in: f875ba1944 user: dan tags: sqlite4-num
16:41
Fix some bugs in the code that uses sqlite4_num. check-in: 598f3f02f4 user: dan tags: sqlite4-num
2013-05-24
20:28
Start using sqlite4_num to store numeric SQL values. This commit is more buggy than not. check-in: d94f6e934e user: dan tags: sqlite4-num
2013-05-23
09:39
Changed TLIBS= to TLIBS?= to allow override from CLI. check-in: 9199b1fa38 user: stephan tags: trunk
2013-05-22
17:40
Add simple OOM injection test to show that the sqlite4_mm based test infrastructure works. check-in: 3f1a52c793 user: dan tags: trunk
2013-05-21
20:08
Remove sqlite4_mem_methods from sqlite.h.in. Other modifications so that src4.test works again. check-in: 7091e990cd user: dan tags: trunk
18:19
Re-enable memory statistics and backtraces. check-in: 75b8ccc0a8 user: dan tags: trunk
2013-05-18
19:42
Use the default sqlite4_mm object for malloc() and free(). check-in: e3280f4585 user: dan tags: trunk
2013-05-10
19:19
Change sqlite4_prepare() to return the number of bytes read from the input SQL script via an output variable (instead of returning a pointer to the next SQL statement within the buffer). check-in: 79197d57b4 user: dan tags: trunk
18:42
Change the sqlite4_exec() function to pass protected sqlite4_value objects to the callback instead of an array of nul-terminated strings. check-in: bbf3a54dcf user: dan tags: trunk
2013-05-09
19:47
Add an "unsigned int flags" parameter to sqlite4_close(). Currently unused. check-in: 95275bb370 user: dan tags: trunk
19:12
Add a destructor parameter to sqlite4_create_function() and create_function16(). Remove create_function_v2(). check-in: b7612a4adb user: dan tags: trunk
18:11
Have sqlite4_column_text() and other functions return the size of the returned buffer in bytes via an optional output parameter. Remove sqlite4_column_bytes() and similar. check-in: 51c6f56d73 user: dan tags: trunk
2013-05-08
17:24
Modify sqlite4_column_text() and sqlite4_value_text() to return (const char *) instead of (const unsigned char *). check-in: d1966c57fa user: dan tags: trunk
14:37
Add tests for authorizer_push() and authorizer_pop(). check-in: 0263259ac4 user: dan tags: trunk
2013-05-07
19:36
Replace sqlite4_set_authorizer() with sqlite4_authorizer_push() and sqlite4_authorizer_pop(). check-in: 555f0c788d user: dan tags: trunk
2013-04-29
17:48
Fix a problem with the binary-to-decimal mode of the "varint" command-line test tool. check-in: 34281c89cf user: drh tags: trunk
17:15
Bug fix in the varint.c encoder for values between 140737488355328 and 281474976710655. check-in: 21442d15d0 user: drh tags: trunk
2013-03-28
19:41
Add tests to sqltest. check-in: fde11ff78c user: dan tags: trunk
2013-03-09
19:48
Fix a bug in database initialization. check-in: 430404f854 user: dan tags: trunk
19:04
Fix further small issues in lsm_file.c. check-in: 38ef349463 user: dan tags: trunk
2013-03-08
20:47
Fix various issues in lsm_file.c. check-in: 4418f901c9 user: dan tags: trunk
09:59
Merge prefix-mmap branch with trunk. This allows lsm to memory map a prefix of the database file and use regular read and write system calls to access the remainder. check-in: 02954a5b8d user: dan tags: trunk
2013-03-07
20:12
Fix some test cases to account for sqlite4 memory mapping the file. Leaf check-in: 5f9133f8a8 user: dan tags: prefix-mmap
19:54
Fix a compressed database mode bug. check-in: 84e9aca245 user: dan tags: prefix-mmap
18:36
When recycling an lsm cursor, reset the flags field. check-in: 4d830d87e4 user: dan tags: prefix-mmap
2013-03-06
20:15
Allow accessing a prefix of the database file using mmap and the remainder using read and write. check-in: abe0420724 user: dan tags: prefix-mmap
2013-03-04
22:37
New autoconf/make apparatus. Usage:

./autogen.sh ./configure make check-in: 7bf5b6c8d0 user: owensmk tags: trunk

17:09
Merge xPutMeta and xGetMeta related changes from experimental branch. check-in: 03550f6b28 user: dan tags: trunk
14:18
Add dedicated get/set functions for the schema cookie to the sqlite4_kv_methods structure. Leaf check-in: 35af051367 user: dan tags: experimental
10:24
When in non-mmap mode, cache some page-data in memory. As sqlite does. check-in: 1f0129ac39 user: dan tags: trunk
2013-03-02
16:01
Fix some problems on this branch. Leaf check-in: a92d659eee user: dan tags: mmap-on-demand
09:15
Merge trunk changes into this branch. check-in: 6666862302 user: dan tags: mmap-on-demand
09:09
Remove a couple of unused variables from sqltest.c. check-in: e423d6c4bc user: dan tags: trunk
2013-03-01
19:29
Fix a problem with querying non-primary key indexes for blob values. check-in: 74aa63bb48 user: dan tags: trunk
19:06
Add sqltest.c. Containing tests used to compare the performance of different sqlite versions. check-in: c9a4437853 user: dan tags: trunk
2013-02-28
19:09
Reuse existing lsm_cursor objects instead of always allocating new ones. check-in: 64895935bc user: dan tags: trunk
15:56
Minor lsm optimizations. check-in: a02dacd5bd user: dan tags: trunk
2013-02-26
17:35
Remove a stray 'breakpoint' from lsm3.test. check-in: 4ebadf909b user: dan tags: trunk
2013-02-25
18:44
Fix a test case so that it avoids doing an == comparison between two imprecise floating point numbers. check-in: dae258f4ac user: drh tags: trunk
18:35
Remove the obsolete and unused sqlite4_unlock_notify() interface. check-in: 1431be77de user: drh tags: trunk
17:49
Fix a legacy test case that uses zeroblob(). check-in: 22d65927b3 user: dan tags: trunk
17:18
Various fixes for test cases. check-in: 6b27bf4069 user: dan tags: trunk
16:36
File Format Change Modify the key encoding so that final BLOBs are entered byte-for-byte with no terminator. check-in: 3b2515079a user: drh tags: trunk
2013-02-24
00:43
Enhancements to the sqlite4_mm implementation. Fix the amalgamation generator so that it works after the addition of sqlite4_mm. check-in: 4424d6f7b3 user: drh tags: trunk
2013-02-23
18:36
Fix a bug in the makefile that prevents the building of the amalgamation. check-in: 9e3d29f603 user: drh tags: trunk
17:39
Factor out methods of sqlite4_env into a separate env.c source file. Add in the sqlite4_mm object. Remove deprecated interfaces. check-in: 1e83e737e4 user: drh tags: trunk
16:32
Remove the sqlite4_last_insert_rowid() and related infrastructure, since in SQLite4 we no longer have a rowid. Other cleanup of the sqlite4.h file. check-in: c92e61312f user: drh tags: trunk
14:16
Add the "Programmers Introduction To SQLite4" document outlining the desired API for SQLite4. check-in: a4782fccbe user: drh tags: trunk
2013-02-22
20:23
Fix over-length source code lines in sqliteInt.h. check-in: 035df9b1de user: drh tags: trunk
2013-02-21
19:56
Add other notes to lsm.wiki. check-in: ec9a805164 user: dan tags: trunk
17:53
Add a summary of locks to lsm.wiki. check-in: 3987cb831e user: dan tags: trunk
2013-02-20
21:31
Fix the query flattener to avoid an assert in TH4. check-in: 88e0227355 user: drh tags: trunk
19:36
Fix a problem in USE_LOG=0 mode. check-in: 07a6f43d58 user: dan tags: trunk
18:41
Remove the zeroblob interfaces. check-in: f63a20c194 user: drh tags: trunk
18:06
Merge read-only-clients branch with trunk. check-in: 66fe3644fd user: dan tags: trunk
17:54
Add a test to verify that an lsm_close() that disconnects the last connection to a database flushes the in-memory tree regardless of the multi-process or use-log settings. Leaf check-in: 723d5f2f52 user: dan tags: read-only-clients
16:03
Instead of locking the CHECKPOINTER byte, have read-only connections take a SHARED lock on the ROTRANS byte when reading from a non-live db. Read-write connections may not recycle space within either the database or log files while such a lock is held, but may perform checkpoint operations. check-in: 3b2a50c089 user: dan tags: read-only-clients
2013-02-19
20:16
Add a test case for a read-only transaction outlasting an entire read-write session. And a fix. check-in: 3f53258219 user: dan tags: read-only-clients
19:35
Changes to allow read-only clients to safely work with live databases. check-in: 08cc3604cf user: dan tags: read-only-clients
2013-02-18
19:46
Add support for read-only clients reading from dormant databases using the checkpointer lock. check-in: 45e4472618 user: dan tags: read-only-clients
2013-02-17
14:19
Merge trunk changes into this branch. check-in: 29390891c5 user: dan tags: read-only-clients
2013-02-16
02:41
Fix an unsafe VM register deallocation. check-in: e9ec757186 user: drh tags: trunk
2013-02-15
22:20
Fix a bug in the IN processing in WHERE clauses. check-in: 25e27cdc60 user: drh tags: trunk
22:08
Add the "PRAGMA vdbe_addoptrace" pragma for debugging. check-in: 4487c8c57e user: drh tags: trunk
19:20
Fix a crash bug found by TH4. check-in: 6453240a0f user: drh tags: trunk
2013-02-14
15:32
Fold in Peter Reid's fixes and enhancements to the sqlite4_num object. check-in: 8ede88c1df user: drh tags: trunk
01:51
Fix sqlite4_num_to_text when formatting an integer with a negative exponent. It was leaving an uninitialized byte in the destination string. Leaf check-in: 3cac6cdb86 user: peterreid tags: num_work
2013-02-13
12:28
Change the API for binding strings and blobs so that the destructor now carries an extra argument which can be used as the sqlite4_env pointer, thus allowing functions like sqlite4_free() to be used as a string or blob destructor. check-in: 56335097b1 user: drh tags: trunk
2013-02-11
18:33
Fix the data decoder so that it correctly handles +Inf and -Inf. check-in: c04b47fd62 user: drh tags: trunk
16:04
Fix a memory leak in DETACH. check-in: 9b03a19a30 user: drh tags: trunk
15:51
Fix a memory leak in the test harness. check-in: 108d62cab9 user: drh tags: trunk
15:17
Remove two MySQL-isms: Strings in double-quotes and identifiers quoted by grave accents. check-in: eec75c074c user: drh tags: trunk
14:03
Add test fixture functions for sqlite4_num_isinf and sqlite4_num_isnan, and some related test cases. check-in: 58a9cfcb39 user: peterreid tags: num_work
04:09
Num comparison says that +0 = -0. Before, 1-1 > (-1)-(-1). check-in: 13d342510f user: peterreid tags: num_work
2013-02-10
22:03
Add sqlite4_num_add/sub/mul/div to testfixture and some tests that use them. check-in: 91bfc9e7d7 user: peterreid tags: num_work
19:21
Fix defect in which sqlite4_num_from_text returns NaN if it uses exactly as many bytes as the caller allows. check-in: 24ee36b76f user: peterreid tags: num_work
04:26
Add a failing test and supporting functions. When the buffer is ended by a passed-in byte count instead of a trailing 0, sqlite4_num_from_text returns NaN check-in: 2cff3b428a user: peterreid tags: num_work
04:06
Add a few sqlite4_num tests. check-in: 6cc07d19e4 user: peterreid tags: num_work
2013-02-09
19:42
Add definitions for the extra locks required for read-only clients to detect whether or not a database is live. check-in: 69f33cfa12 user: dan tags: read-only-clients
16:55
Have worker clients and writers that discard an old in-memory tree update a read-lock slot before concluding their work or write transaction. This is required for read-only clients - which cannot set the value of their own read-lock slot. check-in: 798d9e23be user: dan tags: trunk
05:36
Create sqlite4_num_isinf check-in: 555cdfbf52 user: peterreid tags: num_work
05:35
Fix sqlite4_num_from_text in 0.000(many zeros)00123 case. check-in: 97728c04e8 user: peterreid tags: num_work
05:33
Make sqlite4_num's exponent signed. check-in: b320c13e42 user: peterreid tags: num_work
05:32
Create sqlite4_num_from_int64. check-in: 2552bc97ef user: peterreid tags: num_work
05:31
Prevent reading out of bounds in sqlite4_num_from_text. Parsing 'in' (prefix of 'inf') with byte count 2 triggered the bug. check-in: 408475b607 user: peterreid tags: num_work
05:29
Create sqlite4_num_isnan. check-in: cc1dc90b47 user: peterreid tags: num_work
05:27
Make LARGEST_UINT64 unsigned. This was causing adjustExponent to fail when compiled with msvc. check-in: 9ff6991d9f user: peterreid tags: num_work
2013-02-08
15:22
Avoid extending the database file when truncating it to the minimum number of blocks required during system shutdown. check-in: 9afc42d70d user: dan tags: trunk
14:39
Changes to lsm_unix.c to build on android: (a) do not use fdatasync() on android and (b) account for the fact that usleep() returns void on android. check-in: 302b222395 user: dan tags: trunk
11:30
Merge compression-id branch with trunk. check-in: 76297939d3 user: dan tags: trunk
2013-02-07
19:50
Add the INFO_COMPRESSION_ID request. And the factory method for providing compression/encryption functions. Leaf check-in: bb85de9cd3 user: dan tags: compression-id
2013-02-06
19:43
Add API to register a compression-factory method with an lsm handle. check-in: 60908fd4d1 user: dan tags: compression-id
19:03
Add a field to the database header to identify the compression scheme in use. check-in: 3bf1db9709 user: dan tags: compression-id
11:58
Fix bug to do with block redirection. check-in: 7cc153f523 user: dan tags: trunk
2013-02-05
18:32
Fix lsm_checkpoint() and some lsm_info() calls to match documented behaviour. check-in: 89e314d98b user: dan tags: trunk
18:06
Fixes to lsm_work() to bring it into line with documentation: (a) third argument is a number of KB, not a number of db pages, and (b) passing -1 as the third argument means "do as much work as possible". check-in: 2f8966cd9c user: dan tags: trunk
16:03
Change the BLOCK_SIZE, AUTOFLUSH and AUTOCHECKPOINT lsm_config() options to work in KB instead of bytes. This matches the user guide. check-in: 340c9dcd22 user: dan tags: trunk
09:52
Add test file lsm3.test, which should have been added a few days ago. check-in: 5dfd8651df user: dan tags: trunk
09:51
Fix bugs on this branch. check-in: 0cbb5cc2cd user: dan tags: mmap-on-demand
2013-02-04
19:04
Map and unmap parts of the database file on an LRU basis to limit the amount of address space consumed at any one time (for 32-bit address spaces). It looks like this might be slower than read() and write() anyway... check-in: d1b1a9e969 user: dan tags: mmap-on-demand
2013-02-02
16:45
Fix LSM single-process mode so that it holds an exclusive lock on the database file - preventing connections from within external processes. check-in: d6bd08ca0e user: dan tags: trunk
2013-02-01
19:49
Simplifications and clarifications to lsmusr.wiki. check-in: 33eca2e1f4 user: dan tags: trunk
2013-01-31
05:58
Add the definition of sqlite4_stricmp() to sqlite.h.in. Avoid multiple declarations the u8 and similar typedefs in the amalgmation. check-in: d966049dd6 user: drh tags: trunk
05:36
Change all occurrences of sqlite4StrICmp to sqlite4_stricmp and change sqlite4StrNICmp to sqlite4_strnicmp. check-in: b6d0a62048 user: drh tags: trunk
05:27
Publish routines sqlite4_stricmp() and sqlite4_strnicmp() that do simple unicode case folding. Use these routines for all internal case-insensitive string comparisons. check-in: 19e9278b9c user: drh tags: trunk
2013-01-28
08:56
Merge block-redirects branch with trunk. This changes the lsm file format. check-in: 647229e983 user: dan tags: trunk
2013-01-26
20:18
Handle calls to lsm_work() with the nPage parameter set to not greater than zero. Remove some dead code. Leaf check-in: 520f3729b8 user: dan tags: block-redirects
19:17
Fix problems with redirected blocks in compressed databases. check-in: 930b7e4507 user: dan tags: block-redirects
17:24
Remove an inaccurate assert() from lsm_sorted.c. check-in: 259878e357 user: dan tags: block-redirects
16:44
Fix a problem to do with an lsm_seek(LSM_SEEK_LE) on a level that is currently undergoing a merge. Add more complex assert statements to catch any similar problems. check-in: ca4dc40190 user: dan tags: block-redirects
2013-01-25
21:23
Fix an off-by-one error in the value data decoder logic that prevented DEFAULT VALUE from working correctly in some instances. Also fix some nearby code formatting issues. check-in: 98d35b06cd user: drh tags: trunk
20:46
Fix a problem in the range-delete code. check-in: 96badcb933 user: dan tags: block-redirects
2013-01-24
18:24
Fix a string type compile warning. check-in: 11b2bf1628 user: stephan tags: trunk
16:45
Improve the integrity-check assert that ensures all blocks in the file are accounted for. Roll any in-memory free-list records into the end of the main segment when executing lsm_work(nmerge=1). check-in: e5edba9caa user: dan tags: block-redirects
2013-01-23
18:13
Keep the contents of Segment structures up to date at all times, so that none of the page numbers contained within are subject to redirection. check-in: a89abc2117 user: dan tags: block-redirects
2013-01-22
20:07
Several block-redirect related bugfixes. check-in: a56a334333 user: dan tags: block-redirects
2013-01-21
19:50
Add tests for block-redirects to lsmtest. check-in: eec16b0f2f user: dan tags: block-redirects
16:53
If a free-list-only segment is generated while a merge of the top-level segment is underway, add the new segment to the merge inputs immediately. Also, if auto-checkpoints are enabled, schedule a checkpoint after each block is moved within an lsm_work(nmerge=1) call. check-in: 89b4286682 user: dan tags: block-redirects
14:23
Fix LSM_INFO_PAGE_DUMP so that it works with redirected blocks. check-in: deb0ccacd4 user: dan tags: block-redirects
10:02
Fix some bugs surrounding block redirects. check-in: 73976dbcbe user: dan tags: block-redirects
2013-01-20
02:52
Fix typos in the VARINT documentation. check-in: eccdf70b22 user: drh tags: trunk
02:38
Fix a typo on the key-encoding documentation. check-in: b1ae0ca8c3 user: drh tags: trunk
00:07
Enable the AUTOINCREMENT feature. check-in: 5442b20bf6 user: drh tags: trunk
2013-01-19
20:07
Change the lsm file-format to allow a small number of blocks belonging to the oldest segment in the database to be moved without modifying their content. This makes it easier to compact a database file to the minimum required size. check-in: 09251cee6a user: dan tags: block-redirects
19:49
Insert a value in place of NULL in an INTEGER PRIMARY KEY, even if the IPK column is omitted from the VALUES list in the INSERT statement. check-in: 4d1b506594 user: drh tags: trunk
16:14
Inserting NULL into a INTEGER PRIMARY KEY fills that key with the next available integer value. The sqlite4_last_insert_rowid() function now works for those cases. check-in: 697ee9faad user: drh tags: trunk
02:38
Change the hexadecimal digits generated by the hex() and quote() functions to lower-case. check-in: 3025370e1f user: drh tags: trunk
02:16
Fix for queries that use and inequality on ROWID in the WHERE clause. check-in: 32de931aa1 user: drh tags: trunk
2013-01-18
23:15
Add support for multiple VALUES in a single INSERT statement. check-in: 4ea88c4882 user: drh tags: trunk
20:43
Remove obsolete shell test scripts from the tool/ subdirectory. check-in: 51b9711376 user: drh tags: trunk
20:28
Bring the command-line shell up-to-date with recent changes in SQLite3. Add test cases for the command-line shell. check-in: 918553d16e user: drh tags: trunk
15:58
Display the 'age' of each level in lsmview. check-in: 33cc91541c user: dan tags: trunk
10:46
Truncate the database file when the number of connections drops from one to zero. check-in: dc4fa92596 user: dan tags: trunk
2013-01-17
19:13
Fix an lsm bug causing it to choose the wrong block to reuse. check-in: 2ff461b422 user: dan tags: trunk
12:22
Truncate away any free blocks at the end of the database file when the system is shutdown (last connection disconnects). check-in: 2351f01937 user: dan tags: trunk
2013-01-15
17:39
Fix a typo in lsmusr.wiki. check-in: ace47a5829 user: dan tags: trunk
2013-01-14
17:05
Fix problems with the matchinfo functions used by the bm25(f) implementation. check-in: 739cd82fca user: dan tags: trunk
2013-01-13
05:30
Avoid using keyword "near" as a variable name in fts5.c. check-in: 278cfaeb70 user: dan tags: trunk
2013-01-12
15:50
Many fts5 related fixes. check-in: e21b7b67b5 user: dan tags: trunk
15:13
Get the amalgamation build working again. check-in: 0078080de5 user: drh tags: trunk
2013-01-09
18:15
Merge matchinfo branch with trunk. check-in: dbbce4e438 user: dan tags: trunk
18:09
Fix a few compiler warnings and test failures. Leaf check-in: 201233ee64 user: dan tags: matchinfo
17:16
Fixes for snippet function and tests. Add API to determine the number of tokens in an FTS query phrase. check-in: 0d5a640f1f user: dan tags: matchinfo
2013-01-08
20:35
Add tests and many fixes for snippet implementation. Some tests are still failing. check-in: a257d81d4b user: dan tags: matchinfo
11:45
Fix an fts5 problem to do with initializing the global size record. Also have the checksum routine ignore size records when calculating the index checksum. check-in: e7b52edf68 user: dan tags: matchinfo
2013-01-07
19:52
Add an implementation of snippet() and its associated mi apis to fts5. check-in: 8d94102cd3 user: dan tags: matchinfo
2013-01-04
18:37
Allow an fts5 tokenizer to split a single document into multiple streams (i.e. sub-fields within a single column value). Modify the matchinfo APIs so that a ranking function may handle streams and/or columns separately or otherwise. check-in: f3ac136843 user: dan tags: matchinfo
2013-01-03
20:35
Add comment describing format of row and global size records. check-in: 7cfa40b5c1 user: dan tags: matchinfo
18:13
Fill in more of the matchinfo functions so that the BM25 function works. check-in: 0e439483d7 user: dan tags: matchinfo
2013-01-02
20:01
Add an implementation of BM25 to fts5func.c. Other changes to matchinfo related things. check-in: 03f26d8c60 user: dan tags: matchinfo
2013-01-01
19:56
Add APIs to allow fts5 to be augmented with ranking and snippet functions. Does not work yet. check-in: a235305d42 user: dan tags: matchinfo
19:55
Remove obsolete memory pool allocators from LSM. check-in: 69b21857ca user: drh tags: trunk
19:02
Add the sqlite4_kvfactory typedef to the interface and use that typedef throughout the implementation. This check-in also includes some unrelated cleanup of the sqlite4.h file. check-in: a2630e5d90 user: drh tags: trunk
18:41
Fix a memory leak in fts5.c. check-in: 7bc0e58875 user: dan tags: trunk
18:24
Add files "mem.h" and "mem.c". These are not currently linked into the build and have never been tested. At the moment they should be considered working notes, not real code. The code contained in these files might get folded into the build, or it might be deleted. check-in: e9efc61a51 user: drh tags: trunk
10:24
Fix a problem that occurs with transactions that use more than 32MB of shared memory. check-in: bc0f61fc3b user: dan tags: trunk
09:07
Avoid leaking shared-memory pages when rolling back a large transaction. check-in: d9a06d9403 user: dan tags: trunk
2012-12-30
12:03
Add support for the "columnname : phrase" syntax to fts5. check-in: 069e299d06 user: dan tags: trunk
11:45
Add support for prefix queries to fts5. Still no support for prefix indexes, just prefix queries using the regular term index. check-in: dd018f834a user: dan tags: trunk
2012-12-29
15:16
Add fts5rnd1.test, a modified version of fts3rnd.test that works with fts5. check-in: 29d07b13f0 user: dan tags: trunk
09:56
Add support for the AND, OR and NOT operators to fts5. check-in: c2efd983b0 user: dan tags: trunk
2012-12-28
20:01
Add support for NEAR queries to fts5. check-in: ed403fecf2 user: dan tags: trunk
18:57
Add support for phrase queries to fts5. check-in: 0780ef9305 user: dan tags: trunk
2012-12-27
18:01
Fill in some functions so that a tiny subset of fts5 queries work. check-in: fb07003744 user: dan tags: trunk
2012-12-26
19:40
Modify where.c and so on to handle fts scans. Opcodes do not work yet. check-in: 58a5617da3 user: dan tags: trunk
2012-12-24
15:32
Fixes for updates and deletes on tables with fts5 indexes. check-in: 8161b13910 user: dan tags: trunk
2012-12-22
19:59
More work on updating an fts5 index. Add a pragma that checks if the index and table contents match. check-in: 4693eb7bcc user: dan tags: trunk
2012-12-21
19:58
Add update function to fts5.c. check-in: 49eff5d82d user: dan tags: trunk
2012-12-20
18:41
Add "tokenizer=xxx" syntax to fts5. check-in: e0748900db user: dan tags: trunk
2012-12-19
20:01
Add the "CREATE INDEX idx ON tbl USING nm(...)" syntax. check-in: 8ac71062f5 user: dan tags: trunk
2012-12-18
15:47
Add support for NEAR to the fts expression parser. check-in: b1a2a17679 user: dan tags: trunk
2012-12-17
20:18
Add a test for the "colname:phrase" syntax to fts5expr1.test. check-in: c472cae982 user: dan tags: trunk
19:36
Add new files fts5.c and fts5func.c. check-in: bd4efbb2f7 user: dan tags: trunk
2012-12-03
20:19
Add support for testing against mdb. check-in: 5181638475 user: dan tags: trunk
14:22
Add lsmperf.wiki to the links on index.wiki. check-in: 6de140a17f user: dan tags: trunk
13:41
Add www/lsmperf.wiki. check-in: 938bb92e37 user: dan tags: trunk
2012-11-30
19:00
Reduce the number of times malloc() is called when inserting a new entry. Ensure pointers to all shared-memory chunks are loaded when a read-transaction is opened. check-in: 7ead7175e2 user: dan tags: trunk
2012-11-29
19:14
Avoid reading and checksumming an entire meta-page every time a write transaction is opened. check-in: d4c5a3bad7 user: dan tags: trunk
18:25
Allow freelist-only age=1 segments to be written even if there are already NMERGE age=1 segments. check-in: 88205b2bc6 user: dan tags: trunk
09:48
In mmap-mode, ensure a checkpointer has the entire database file mapped before calling msync(). check-in: a9f8129cce user: dan tags: trunk
2012-11-28
19:39
Further updates to multi-threaded tests. check-in: f43bee2c1b user: dan tags: trunk
14:54
Fix an mmap mode bug. Improve upon multi-threaded setups in lsmtest_tdb3.c. check-in: 21db5f73f5 user: dan tags: trunk
2012-11-23
16:41
Fix a problem in compressed database mode causing pages to be incorrectly marked as dirty. check-in: b55b092602 user: dan tags: trunk
2012-11-22
16:14
Fix some "unsafe" pointer casts in lsm_config(). check-in: f58fb32e42 user: dan tags: trunk
2012-11-17
13:17
Fix another out-of-order writes problem. check-in: 1b21fb4494 user: dan tags: trunk
10:51
Avoid writing pages to disk out of sequential order (one problem still remains). check-in: ee694a32e4 user: dan tags: trunk
2012-11-15
18:45
Update the lsm code so that it matches lsmusr.wiki. check-in: 8915d39dab user: dan tags: trunk
14:19
Add words to lsmusr.wiki. check-in: 2077c9d152 user: dan tags: trunk
2012-11-14
20:09
Updates to lsmusr.wiki. check-in: 1ea9187820 user: dan tags: trunk
18:23
Improvements to lsmusr.wiki. check-in: e47b5e3ae6 user: dan tags: trunk
2012-11-13
20:16
Further documentation updates. check-in: 414ed6da4e user: dan tags: trunk
18:44
Add lsmapi.wiki. And the script that generates it from lsm.h - tool/mklsmapi.tcl. check-in: 2377f4f991 user: dan tags: trunk
14:03
Add table of contents to lsmusr.wiki. check-in: 71b26d318d user: dan tags: trunk
2012-11-12
20:19
Fix small issues in lsmusr.wiki. check-in: 3904797435 user: dan tags: trunk
19:41
Updates to lsmusr.wiki. check-in: f7ef6cec1f user: dan tags: trunk
2012-11-09
20:14
Minor changes to lsmusr.wiki. Add the lsm_csr_cmp() function. check-in: 9d39c3a354 user: dan tags: trunk
2012-11-08
21:30
Add lsmusr.wiki. User documentation for lsm. check-in: c50bcdc37d user: dan tags: trunk
11:59
Set a flag on levels that consist entirely of freelist entries. Use this flag to avoid counter-productive merges during database optimization. check-in: 48bd83a17a user: dan tags: trunk
2012-11-07
20:08
Remove the LSM_WORK_OPTIMIZE flag. Add free-list management related tests and fixes. check-in: 91912a39ca user: dan tags: trunk
2012-11-06
19:14
Fix lsmview.tcl so that it can view databases compressed with zlib. check-in: 7268cf7535 user: dan tags: trunk
11:49
Fix block pointer related bug introduced by the previous commit. check-in: 579ee866b7 user: dan tags: trunk
11:23
Change the format of uncompressed databases so that the prev/next pointers at the end of blocks are the same as for compressed databases. check-in: c93bae9496 user: dan tags: trunk
2012-11-05
16:41
Remove the unused LSM_WORK_FLUSH flags. check-in: dba97f861c user: dan tags: trunk
14:56
Merge range-delete-fixes branch with trunk. check-in: 7605250294 user: dan tags: trunk
14:33
Before writing data to a new database segment, make sure the data is held in heap (not mmap'd) memory. Otherwise, the write may cause the file to grow and the mapping to be released and remapped, leaving an invalid pointer. Leaf check-in: 3ba1c3f589 user: dan tags: range-delete-fixes
10:23
Fix a bug in compressed database mode causing an incorrect page number to be assigned to a page record when the end of the previous record is aligned with the end of a database block. check-in: e6a71a8583 user: dan tags: range-delete-fixes
2012-11-03
19:51
Fix a problem in writing free-list entries to the LSM. check-in: b3b4c58d9a user: dan tags: range-delete-fixes
19:06
Various fixes and tests for range-deletes. check-in: 752517c1cf user: dan tags: range-delete-fixes
2012-11-02
20:13
Change free-list deletes to use range-deletes instead of point-deletes (so that they can be coalesced when segments are merged). This has revealed problems with the range-delete code. check-in: 9374c3a283 user: dan tags: range-delete-fixes
2012-11-01
15:16
Fix a bug preventing a modified snapshot of a "full" database from being written to shared-memory. check-in: 9d8943da66 user: dan tags: trunk
05:00
Re-enable incremental recycling of blocks belonging to segments for which the b-tree hierarchy is still in use. check-in: 41bf1ae58d user: dan tags: trunk
2012-10-31
19:30
Merge the freelist-rework branch with the trunk. check-in: 58f0d07a23 user: dan tags: trunk
19:27
Fix a crash in the check-blocks assert that may occur following an OOM condition. Leaf check-in: 503f49b0cc user: dan tags: freelist-rework
18:46
Remove dead code. Fix a read-lock related problem causing the multi-threaded tests to fail. check-in: f512ea3c4d user: dan tags: freelist-rework
16:37
Fix a compressed mode bug unrelated to the free block list. check-in: 6bf6b00b8b user: dan tags: freelist-rework
11:15
Improve the complex assert() used to check that database file blocks are not leaked or over-allocated. check-in: 1ac4435e5c user: dan tags: freelist-rework
09:25
Prevent auto-work from recycling blocks before the connection doing the auto-work has finished using them. check-in: 7b5a26996f user: dan tags: freelist-rework
2012-10-30
18:46
Another free-list related fix. check-in: a8acce6c87 user: dan tags: freelist-rework
17:34
Avoid writing completely empty segments to the snapshot. check-in: 803f36b62f user: dan tags: freelist-rework
17:19
Fix another free block list related bug. check-in: f9e75777b0 user: dan tags: freelist-rework
16:27
Fix a couple of problems in the code that handles free block lists. check-in: 5c3e17cc90 user: dan tags: freelist-rework
2012-10-29
20:04
Rework the free block list storage so that it scales properly. Currently some test cases fail. check-in: ebca1063ac user: dan tags: freelist-rework
09:19
Fix a couple of crashes and a memory leak in OOM tests. check-in: 90f46bd082 user: dan tags: trunk
2012-10-28
11:38
Merge compression-hooks branch with trunk. check-in: a701b281e9 user: dan tags: trunk
11:34
Turn off LSM_CONFIG_MMAP automatically in compressed database mode. Leaf check-in: 676da8516d user: dan tags: compression-hooks
11:28
Enhance the file-format to allow padding records smaller than 6 bytes in length. check-in: 2ba0368e76 user: dan tags: compression-hooks
10:07
Add padding records to segments in compressed databases in order to avoid partial writes to segments that have already been synced to disk. check-in: ae3c8da44d user: dan tags: compression-hooks
2012-10-27
08:57
Change the format of compressed page records slightly so that the file format supports inserting padding records into sorted runs. check-in: 0b940bfe17 user: dan tags: compression-hooks
2012-10-26
18:08
Enable assert() checking for lost blocks in compressed database mode. check-in: 6e7bc9099c user: dan tags: compression-hooks
17:09
Fix a problem with snapshot initialization. check-in: 8ce567e8be user: dan tags: compression-hooks
16:42
Store page numbers in database snapshots as 64-bit integers. check-in: 53de55a6f4 user: dan tags: compression-hooks
2012-10-25
11:08
Fix bug reading page data from a compressed database that occurs when the last page of a segment ends on the last byte of a block. check-in: 549868a020 user: dan tags: compression-hooks
2012-10-24
19:54
Have lsmtest use zlib for compression if HAVE_ZLIB is defined. This causes at least one test to fail. check-in: 8670182769 user: dan tags: compression-hooks
18:33
Fix memory leaks in compressed database mode. check-in: 083e3a6c0f user: dan tags: compression-hooks
18:26
Various fixes. check-in: 728d8cf5ae user: dan tags: compression-hooks
2012-10-23
19:54
Fixes for compressed database mode. Some test cases pass. Many do not. check-in: 90c2fae338 user: dan tags: compression-hooks
2012-10-22
20:05
Add some code to support compressed databases to lsm_file.c. Does not currently work. check-in: 3c45b911fe user: dan tags: compression-hooks
2012-10-20
15:57
Change lsm_sorted.c so that it does not use the Segment.iLastPg variable directly. This variables meaning is slightly different for compressed databases. check-in: db2407a7af user: dan tags: compression-hooks
13:13
Rename "storage.c" to "kv.c". Similar renames for test modules. This is to match the rename of "storage.h" to "kv.h" in a prior check-in. check-in: 7d290a04e8 user: drh tags: trunk
13:01
Change the "TK_" macro prefix in lsm_tree.c to "TKV_" in order to avoid name collisions with "TK_" macros generated by the parser. check-in: b81bc323b9 user: drh tags: trunk
12:57
Change the name of "storage.h" to "kv.h". Other minor edits to comments and typedefs. check-in: 8132a601e8 user: drh tags: trunk
2012-10-19
16:39
Remove obsolete content from sqliteInt.h. check-in: d618b9b106 user: drh tags: trunk
16:16
Further changes to ensure that a pages page number is not required until after its content has been assembled. check-in: c03eeda99f user: dan tags: compression-hooks
11:25
Changes to support building b-trees without using the page numbers of unfinished pages. check-in: d54af93981 user: dan tags: compression-hooks
2012-10-18
07:43
Fix another memory leak in lsm_tree.c. check-in: 4ff1be367e user: dan tags: trunk
2012-10-17
19:35
Fix a memory leak in lsm_work(). check-in: 6e6b3a8a8b user: dan tags: trunk
19:29
Fix various issues with tcl test cases. check-in: ae7d9c68ef user: dan tags: trunk
11:31
Remove the lsmFsPageWrite() function. So that pages can only be written immediately after they are created - not loaded from the database and then made writable. check-in: 29bd2611a6 user: dan tags: compression-hooks
2012-10-16
15:26
Change page numbers to 8-byte numbers (from 4). This is required to support compressed databases, where a page number is a byte offset in the database file. check-in: 5d266a717d user: dan tags: compression-hooks
2012-10-15
19:36
Merge range-delete branch back into trunk. check-in: a7de625f13 user: dan tags: trunk
19:34
Fix a case in live-recovery from a writer crash. Leaf check-in: 80abdbea2d user: dan tags: range-delete
16:42
Fix an assert() that can fail following an OOM condition. check-in: 8a713f17fc user: dan tags: range-delete
16:06
Fix minor problems in OOM tests. check-in: 3112bb2e6d user: dan tags: range-delete
15:51
Fix a crash that can follow an OOM error. And an error in lsm_csr_seek(LEFAST). check-in: 3cb77a8512 user: dan tags: range-delete
14:26
Fix a problem with lsm_mt2 in lsmtest_tdb3.c. check-in: c025a26642 user: dan tags: range-delete
2012-10-14
09:41
Range-delete related SEEK_GE and SEEK_LE fixes. check-in: d30de7f821 user: dan tags: range-delete
2012-10-11
19:36
Fix cases involving iteration through split levels where the first part of a range-delete has been merged or annihilated but the second has not. check-in: 45d5b7570e user: dan tags: range-delete
2012-10-10
18:10
Fixes for range-delete and seek operations. check-in: 1ff4639070 user: dan tags: range-delete
2012-10-09
19:55
Fix further bugs in in-memory tree. Progress on writing range-deletes into the database file. check-in: 9081b1c92c user: dan tags: range-delete
2012-10-08
17:08
Fixes for range-deletes on the in-memory tree structure. check-in: 9879e2a63d user: dan tags: range-delete
2012-10-06
20:38
Add tests for range-deletes. Fix some things. Still doesn't work properly. check-in: 178f7d5eca user: dan tags: range-delete
2012-10-03
20:05
Add (partially working) code for deleting keys to lsm_tree.c. Required for range-deletes. check-in: daa6942834 user: dan tags: range-delete
09:24
Minor changes to the lsmperf.tcl script. check-in: 45e59053e7 user: dan tags: trunk
2012-10-02
18:06
Simplify the way new cursors are created. check-in: 63d8eea506 user: dan tags: trunk
12:05
Remove dead code from lsm_sorted.c. check-in: b84772a1aa user: dan tags: trunk
05:19
Remove a layer of abstraction from the cursor object in lsm_sorted.c. check-in: ff71b6f778 user: dan tags: trunk
2012-09-28
18:35
Allow deserialized snapshots to persist between transactions. check-in: fc4601f91f user: dan tags: trunk
14:57
Improvements to lsmperf.tcl test. check-in: 371c6c984d user: dan tags: trunk
2012-09-27
20:04
Mark blocks as free more aggressively. check-in: eb4ae342c5 user: dan tags: trunk
16:09
Fix to ensure that the log file is always deleted following a successful system shutdown. check-in: 3d1dacff87 user: dan tags: trunk
04:59
Fix a deadlock in multi-threaded test code. check-in: e16b04ca69 user: dan tags: trunk
2012-09-26
15:38
Merge rework-flow-control branch with trunk. check-in: cf2ef747ad user: dan tags: trunk
15:23
Fix invocation of work-hook following an lsmTreeMakeOld() call. Leaf check-in: 0a45bfc7a4 user: dan tags: rework-flow-control
14:07
Fix a broken assert() statement. check-in: 797f6c5578 user: dan tags: rework-flow-control
11:57
Fix a problem in free-list management. check-in: 57444405e3 user: dan tags: rework-flow-control
2012-09-25
19:13
Fix bug in recycling of shared memory space. check-in: 156b93d03b user: dan tags: rework-flow-control
18:27
Fix a problem causing read-locks to fail with LSM_BUSY. check-in: 7eee90a0aa user: dan tags: rework-flow-control
17:25
Fix a race condition causing LSM to read inconsistent in-memory and on-disk databases. check-in: 1743941409 user: dan tags: rework-flow-control
14:50
Fix a mmap-mode bug. check-in: be1e513090 user: dan tags: rework-flow-control
2012-09-24
17:18
Fix a problem preventing log file space from being reclaimed. check-in: b9f122f4e3 user: dan tags: rework-flow-control
16:04
Fix further bugs. check-in: 99b59dacbd user: dan tags: rework-flow-control
10:55
Fix problems introduced in the previous checkin. check-in: 1cd7d6ca93 user: dan tags: rework-flow-control
2012-09-22
19:38
Rework flow control some (flow control = slowing down clients when worker threads or processes cannot keep up). check-in: 50f8b55823 user: dan tags: rework-flow-control
2012-09-20
19:33
Add lsm_tree_size() and lsm_ckpt_size(). check-in: 5062ffb017 user: dan tags: trunk
2012-09-18
19:39
Avoid malloc calls in lsm_file.c when running in mmap mode. Also avoid many mutex operations when accessing the in-memory tree. check-in: 1e661d0bad user: dan tags: trunk
15:48
Fix a bug preventing block recycling in multi-threaded tests. check-in: 93d9ff7c12 user: dan tags: trunk
2012-09-17
20:41
Make it possible to flush part of the in-memory tree to disk without blocking writer clients. check-in: 6c686c6d1a user: dan tags: trunk
2012-09-15
17:03
Improve performance testing script lsmperf.tcl. check-in: 108a6143bf user: dan tags: trunk
2012-09-14
19:59
Improve speed test commands in lsmtest. Add script lsmperf.tcl to use these to generate gnuplot files. check-in: d9e0ad7566 user: dan tags: trunk
2012-09-13
18:13
Add tests for dealing with inconsistent tree-headers in shared-memory. check-in: 4ea78ff1f3 user: dan tags: trunk
15:24
Add lsmtest tests that focus on recovering from the failure of a writer process. And fixes for the same. check-in: bb42813797 user: dan tags: trunk
2012-09-12
17:23
Fix a problem in the lsm_info(LOG_STRUCTURE) command causing errors in tcl tests. check-in: 6e5e429ea7 user: dan tags: trunk
2012-09-05
11:23
Merge in multi-process branch. check-in: ecae27d73a user: dan tags: trunk
10:32
Fix a bug in intra-process connection locking. Turn on multi-process mode by default. Leaf check-in: 8d149a52d3 user: dan tags: multi-process
2012-09-04
20:17
Defer closing file descriptors until all fcntl() locks have been dropped. check-in: 3d0cf4bb36 user: dan tags: multi-process
19:42
Add real inter-process locks and shared memory in place of the stubs. Currently requires activation using LSM_CONFIG_MULTIPLE_PROCESSES. check-in: d37b353a55 user: dan tags: multi-process
2012-09-03
19:26
Fix a bug occuring when the last connection to disconnect from a database is not also the last to write to it. check-in: 75de95787f user: dan tags: multi-process
17:57
Add a missing unlock(WRITER) call to lsmCheckpointWrite(). check-in: e97d02f068 user: dan tags: multi-process
14:50
Fix a problem with growing the database file in mmap mode. check-in: 1a86aa1c6b user: dan tags: multi-process
11:34
Fix a race condition between flushing an in-memory tree to disk and opening a read-transaction. check-in: 6ced48df30 user: dan tags: multi-process
2012-09-02
09:25
Fix a crash in multi-threaded tests that can occur if a call to lsm_open() fails. check-in: dd2489a645 user: dan tags: multi-process
2012-09-01
16:39
Fix a problem allowing shared memory to be recycled too early. check-in: c2f247c372 user: dan tags: multi-process
12:04
Do not open the log file until it is first written or read. This ensures that it is not opened before locks that prevent other processes from unlinking it have been obtained. check-in: 0f28f8317b user: dan tags: multi-process
11:09
When loading free-list elements from the lsm, merge them into the existing free-list so that free blocks are always sorted from least to most recently used. check-in: 4a2be461c1 user: dan tags: multi-process
09:11
Fix a bug in the test used to determine if a free block is ready for reuse. check-in: 3423d37092 user: dan tags: multi-process
2012-08-31
20:26
Avoid reusing a block before it is guaranteed that it is not required even if a crash occurs. check-in: 5f9bb542f7 user: dan tags: multi-process
18:43
Add DMS "lock". check-in: 5f4708d2e9 user: dan tags: multi-process
2012-08-30
20:01
Remove dead code. Run "lomem" tests with max-freelist set to 4. check-in: d6c6889249 user: dan tags: multi-process
18:01
Fix memory leaks. Add the LSM_CONFIG_MAX_FREELIST parameter to make testing free-list overflow easier. check-in: 3e1ecb95c9 user: dan tags: multi-process
2012-08-29
19:45
Fix some of the problems with very large free-block lists. check-in: dc91e55841 user: dan tags: multi-process
2012-08-28
19:06
Limit the number of levels that may exist within the database file. check-in: 77b1401c13 user: dan tags: multi-process
16:50
Fix an OOB read caused by an implicit UNIQUE index on the same columns as the primary key of a table. check-in: 57b62e32f6 user: dan tags: multi-process
2012-08-25
20:24
Fix a memory leak in lsm_tree.c. check-in: 11ac1783f7 user: dan tags: multi-process
20:05
Fix other problems revealed by src4.test. check-in: bfa27bab8a user: dan tags: multi-process
19:17
Fix another bug to do with large key-value pairs. check-in: 511a91e121 user: dan tags: multi-process
19:04
Fix a problem in lsm_write() occuring if the same pointer is passed as both key and value. check-in: 27ef4e84c1 user: dan tags: multi-process
18:51
Fix a problem with large key/value pairs. check-in: e229e3e35f user: dan tags: multi-process
17:06
Remove the 32KB limit on the size of key/data pairs. check-in: 994cbb20bb user: dan tags: multi-process
2012-08-22
11:35
Fix a broken locking-related assert() statement. check-in: 1cae60359e user: dan tags: multi-process
10:56
Remove some dead code from lsm_ckpt.c. Have auto-work connections write checkpoints into the database file periodically. check-in: 449de9f2d6 user: dan tags: multi-process
2012-08-21
19:04
Prevent a worker connection from recycling a block that it still in use. check-in: 5ac48d34f9 user: dan tags: multi-process
13:36
Fix a bug with saving a b-tree cursor position located on the right-most leaf page of a b-tree. check-in: e76531feab user: dan tags: multi-process
2012-08-20
20:12
Try to fix log-wrapping and other problems. check-in: 63151e96d1 user: dan tags: multi-process
2012-08-17
15:10
Fix a memory leak. check-in: 49effcc85e user: dan tags: multi-process
14:56
Re-enable the log file. check-in: 4f3dc549a9 user: dan tags: multi-process
2012-08-16
15:09
Fix a bunch of OOM an API tests failing on this branch. check-in: 36c4a52f46 user: dan tags: multi-process
2012-08-06
11:55
Fix a problem with preventing auto-work from taking place. Remove dead code from lsm_shared.c. check-in: ff49753d4b user: dan tags: multi-process
2012-08-04
19:41
Fix a bug causing a freed block to be reused twice. check-in: ce93e883c3 user: dan tags: multi-process
16:47
Fix a bug in seeking within levels undergoing merges. check-in: 48718fd6fb user: dan tags: multi-process
2012-08-03
19:23
Fixes for lsm rollback. check-in: 7d54404357 user: dan tags: multi-process
2012-08-01
19:07
Reuse old chunks of the *-shm file when they become available. check-in: 2a1738ca1d user: dan tags: multi-process
2012-07-28
19:46
Fix a bug preventing the in-memory tree from being emptied after it is written to disk. check-in: d3fdb8ed3b user: dan tags: multi-process
18:15
Reenable the free block list. check-in: 9caaec13f2 user: dan tags: multi-process
11:17
Reenable the append-list. check-in: ee0c4cb2ac user: dan tags: multi-process
2012-07-27
19:08
Work on checkpoint management. Fix the lsm_info() calls used by lsmview.tcl. check-in: b2caad38b9 user: dan tags: multi-process
2012-07-26
19:32
Work on snapshot management changes. check-in: 919a30c1d7 user: dan tags: multi-process
2012-07-25
19:14
Further progress on multi-process changes. check-in: 40d15be410 user: dan tags: multi-process
2012-07-24
20:38
Fix some small issues. Some test cases pass, but things are still broken. check-in: 47285746d5 user: dan tags: multi-process
2012-07-21
19:35
Further progress towards multiple processes. check-in: 2e04c147f3 user: dan tags: multi-process
2012-07-20
20:27
Changes towards supporting multiple processes. This branch crashes at the moment. check-in: b20504a93b user: dan tags: multi-process
2012-07-16
00:03
Fix errors in the examples of numeric encoding on the key-encoding wiki page. check-in: 10befd97f8 user: drh tags: trunk
2012-07-07
19:52
Merge trunk changes. check-in: d8523ddd93 user: dan tags: multi-process
19:43
Store the checkpoint id associated with each free-list entry in the checkpoint itself. check-in: fe3cca104b user: dan tags: multi-process
15:51
Store the append-point list in the checkpoint. Limit it to a maximum of 4 entries. check-in: 4241ba7584 user: dan tags: multi-process
12:21
minor doc update. check-in: 3ffef65b7c user: stephan tags: trunk
11:44
merged in lsm_env-xsize branch. check-in: 3dd0037efb user: stephan tags: trunk
11:43
Added license header to test_mem.c Closed-Leaf check-in: 1eb4aaa4c2 user: stephan tags: lsm_env-xsize
11:30
Updates to test_mem.c. Add the "mtv.tcl" script to the tool/ directory. check-in: 4c5516a180 user: dan tags: lsm_env-xsize
01:48
removed unused var. check-in: bc9838094b user: stephan tags: lsm_env-xsize
01:47
Removed unused variables. check-in: a65e92209c user: stephan tags: lsm_env-xsize
01:44
removed a .PHONY which caused too many automatic runs of "test". check-in: 015bf0d87b user: stephan tags: lsm_env-xsize
2012-07-06
22:38
Minor internal doc correction. check-in: 2ee70dc7a3 user: stephan tags: trunk
22:13
Minor cleanups to the previous commit. check-in: 1f710b8de6 user: stephan tags: lsm_env-xsize
22:00
Added lsm_env::xSize() for Posix. Added initial memory-tracking bits to tclsqlite per request from Dan. check-in: bd2e6627f8 user: stephan tags: lsm_env-xsize
21:58
Create new branch named "lsm_env-xsize" check-in: 6d31a9d20c user: stephan tags: lsm_env-xsize
17:42
Add file "shm.wiki" with notes regarding shared memory contents. check-in: daac1c7c4e user: dan tags: multi-process
2012-07-04
09:44
Remove unused variable. check-in: 28a10397d1 user: dan tags: trunk
2012-07-03
18:59
Add OOM test cases. check-in: e5f3a7f3bb user: dan tags: trunk
2012-07-02
20:30
Move some elements of struct "Snapshot" into struct "Database". check-in: bb5e2480d9 user: dan tags: trunk
17:41
Fix bug that could occasionally cause reverse scans to visit deleted keys. check-in: 68cf8c4224 user: dan tags: trunk
15:28
Fix a bunch of warnings. Add const to lsm.h functions where required. Add declaration for lsm_delete_range(). check-in: aa6a7a1405 user: dan tags: trunk
14:43
Fix the build for Mac. check-in: de69df8f21 user: drh tags: trunk
14:38
Add extra crash simulation test. check-in: 32a1ec497d user: dan tags: trunk
13:01
Removed "struct" in some decls where it is not necessary due to typedefing of the struct. check-in: 72d8d2c1a3 user: stephan tags: trunk
11:49
Update power-failure simulation tests. Run these along with all other tests as part of the "lsmtest test" command instead of via "lsmtest crash". check-in: 14ebedd379 user: dan tags: trunk
2012-07-01
12:56
Added "more comfortable" GNUmakefile.linux (symlink it to GNUmakefile) to simplify pre-configuration of the build on linux. This one forces re-build of the major headers if any makefile changes. check-in: 022ebd696a user: stephan tags: trunk
12:54
TCC now defaults to BCC (which the comments suggest it should). Changed more vars use ?= assignments. check-in: 2600364e5d user: stephan tags: trunk
12:26
Reverted inadvertent TCL_FLAGS changes in Makefile.linux-gcc (now points back to drh). check-in: 3778d30fed user: stephan tags: trunk
12:14
minor optimization to rowsetAllocateChunk(), replacing a static with a local enum (less stack space). check-in: c7aae3142c user: stephan tags: trunk
11:54
Added a missing "else" which, under certain invalid Mem::flags conditions, would lead to the illegal reading of two different members from the Mem::u union. check-in: c8400e4a56 user: stephan tags: trunk
11:12
Refactored rowsetAllocChunk() to be grokkable in a single reading, drop an unneeded cast and one unneeded address-of operator. Efficiency "should be" better by one address-of op. check-in: f1d0e9ec1a user: stephan tags: trunk
09:45
added -fPIC flags to gcc (needed in order to link libsqlite4 with clients on some platforms). check-in: a7ea695809 user: stephan tags: trunk
08:42
Changed TOP dir to . for consistency with other makefiles. Added "?=" assignments to TCC/BCC to allow us to selectively override them from a local GNUmakefile. check-in: 646e0ff83a user: stephan tags: trunk
08:40
moved FTS3_OBJ into its own variable so that i can disable it for tcc builds (where it does not compile). check-in: 9fb002dc3e user: stephan tags: trunk
2012-06-30
21:49
Update main.mk so that the Makefile.linux-gcc builds out of the box. The extra OPTS parameters in main.mk will need to be removed, eventually. check-in: 8f2a15eba2 user: drh tags: trunk
19:29
Test that a crash during database checkpoint does not cause data loss. Fix the same. check-in: 7eb384bf3a user: dan tags: trunk
17:18
Fix some errors in lsm OOM tests. check-in: dcb644174f user: dan tags: trunk
15:44
s/sqlite_(u)int64/sqlite4_(u)int64/g. v3 and 4 now compile/link together with downstream apps provided the v3/v4 sources/amalgamations are each in separate compilation units (the have static/internal symbols which collide, but no public ones). check-in: 1b1bc882cc user: stephan tags: trunk
14:58
Repaired freeing of Db::pSchema in sqlite4_close() (was apparently broken by porting-related changes). check-in: b1b19786f8 user: stephan tags: trunk
12:22
Added a compatibility crutch to lsmStringVAppendf() for C89 and vsnprintf() (which is not C89, but most platforms have it). It will not _link_ on a pure C89 platform (with no vsnprintf()), but it now compiles on such platforms. sqlite4_vsnprintf() behaves differently and causes test failures if used here. check-in: 61f3dc58ad user: stephan tags: trunk
11:23
Added a memset() ifndef NDEBUG to hide an uninitialized write() memory access in debug builds (to avoid poluting the valgrind log). check-in: 2da2944388 user: stephan tags: trunk
11:02
sqlite4_initialize/shutdown() doc additions, based on the current embedded docs. check-in: 8ad7a840c1 user: stephan tags: trunk
09:39
Added makefile stub src src so (x)emacs can build with the conventional keystrokes. check-in: c56ca2860f user: stephan tags: trunk
01:01
Uplifted Xyz_item classes to XyzItem for consistency. check-in: f08dc93314 user: stephan tags: trunk
2012-06-29
23:58
minor doc/style touch-up. check-in: 1c5e0a68e4 user: stephan tags: trunk
23:56
Uplifted AggInfoCol and AggInfoFunc (formerly AggInfo_col/func, renamed for consistency). check-in: 60277542c8 user: stephan tags: trunk
23:15
re-located a mis-located sqlite4::init member doc comment. check-in: cd7f47bf33 user: stephan tags: trunk
23:02
moved Parse::aColCache/yColCache type into ParseYColCache. check-in: ee4cd98515 user: stephan tags: trunk
22:49
merged in [3abadc2e11ef] (approved by drh). check-in: b66a99f023 user: stephan tags: trunk
22:42
"uplifted" sqlite4::init to Sqlite4InitInfo typedef. Closed-Leaf check-in: 3abadc2e11 user: stephan tags: stephan
21:40
"Uplifted" KVFactory::xFactory's type to typedef KVFactory_factory_f. check-in: 995c17a6f1 user: stephan tags: trunk
21:38
va_arg function ptr conversion changed to a typedef for portability (tcc). The tcc guys claim (with references) that the syntax fault is sqlite's here. check-in: db19977f62 user: stephan tags: trunk
19:30
Second round of portability/compliance fixes. A few more casts than i would care for, but nothing too unsettling. check-in: 50900a38be user: stephan tags: trunk
18:46
First round of compliance/portability touchups. No functional changes, just removal of dead code, un-staticing a few as-yet-unused functions, and the like. make test has the same 5 failures before/after this change. check-in: 223fc19acd user: stephan tags: trunk
17:01
added an extra ifdef for LSM_DEBUG to please gcc when LSM_DEBUG is -Defined via CLI args. check-in: b6cd91bb50 user: stephan tags: trunk
15:58
Fix some minor compiler warnings. check-in: 2aa05e9008 user: drh tags: trunk
15:43
Updates to the porting guide. check-in: 4d248c2b0e user: drh tags: trunk
15:39
Change all "SQLITE_" prefixes on preprocessor macros to "SQLITE4_" to avoid name collisions with SQLite3. check-in: da13c446be user: drh tags: trunk
12:03
Avoid writing a new top-level segment when it is unnecessary. In auto-work mode, perform some merging work each time the in-memory tree is flushed. check-in: 3f38af19aa user: dan tags: trunk
09:29
Fix widget packing in lsmview.tcl so that the window can be resized. check-in: 94d6e18da7 user: dan tags: trunk
09:08
Fix a problem causing a crash when two checkpoints are run in a row. check-in: 77e1df0f54 user: dan tags: trunk
2012-06-28
20:23
Updates to the lsmheader.c utility to handle the latest file format changes. check-in: 96b94e76b4 user: drh tags: trunk
20:16
Fix the header comment in lsm_ckpt.c. check-in: 2976bd261e user: dan tags: trunk
19:57
Add pragmas: lsm_flush, lsm_checkpoint, and lsm_merge=N. check-in: 982be24021 user: drh tags: trunk
19:37
Fix a problem with very large keys. check-in: e66821dd2b user: dan tags: trunk
19:04
Update the lsmheader.c utility to work with the new file format. check-in: 8e67b5db18 user: drh tags: trunk
18:38
When possible, store the freelist in the db header instead of the top-level segment. This changes the file format. check-in: 3b3fb3c3c8 user: dan tags: trunk
17:58
In lsmview.tcl, how additional information about levels on mouse-over. check-in: 262705a2e8 user: drh tags: trunk
14:57
Minor corrections and clarifications to the checkpoint description in the header comment of lsm_ckpt.c. check-in: f105bf9ee9 user: drh tags: trunk
14:52
Add a simple utility program to display the content of the LSM header in a human-readable format. check-in: 7c99fd7b7e user: drh tags: trunk
14:00
Remove several obsolete files from the tools/ subdirectory. check-in: 8deabec80b user: drh tags: trunk
08:15
Disable mmap() on 32-bit hosts. check-in: 3a4aa407a7 user: dan tags: trunk
01:09
Add a makefile target for the "varint" command-line tool that converts integers into varints and varints into integer for debugging. check-in: 1a65f02fae user: drh tags: trunk
2012-06-27
22:36
Display a hex dump of the row content of each page in lsmview.tcl. Add the "Export" button to lsmview.tcl. check-in: 13d59a9f43 user: drh tags: trunk
21:46
Correction to the usage comment on the "show" command of "lsmtest". check-in: 6b2b23de4f user: drh tags: trunk
20:28
Move tdb_lsm_config_str and test_lsm_config_str out of the "#ifdef LSM_MUTEX_PTHREADS" block. check-in: c1e0b6a7e8 user: dan tags: trunk
18:31
Update the lsmview.tcl script to work with embedded b-trees. check-in: fdf301afe7 user: dan tags: trunk
16:34
Merge embedded-btree branch with trunk. check-in: 5eed33bc57 user: dan tags: trunk
16:10
Remove a broken assert from lsm_sorted.c. Leaf check-in: 50e87e23bb user: dan tags: embedded-btree
16:02
Testing finds no cases where separator runs are faster than embedded btrees. So discard the separator runs related code. check-in: afcbe561ff user: dan tags: embedded-btree
13:56
Purge talk of sqlite4_prepare_v2() from the documentation. Also attach the original SQL to a prepared statement, even for internally generated statements. check-in: bd2216554b user: drh tags: trunk
12:28
Fixes to the amalgamation in order to enable a fossil4 build. check-in: 4539458ce3 user: drh tags: trunk
10:22
Ensure that "expensive-assert" code only runs when LSM_DEBUG_EXPENSIVE is defined. check-in: 2be9bac408 user: dan tags: embedded-btree
2012-06-26
20:39
Merge trunk changes. check-in: 209c12ae0b user: dan tags: embedded-btree
20:17
Updates to the design and storage documents. check-in: f19a93d9f9 user: drh tags: trunk
19:45
Fix a bug causing an infinite loop if there are open cursors when the in-memory tree is flushed to disk. check-in: d409cd8c8a user: dan tags: embedded-btree
18:47
Remove more traces of SQLITE_WSD. Everything is in pEnv now, with the except of the global state of the alternative memory allocators mem3 and mem5. check-in: 859a51036f user: drh tags: trunk
18:24
Add a stack of named storage engines, with the ability to push or pop storage engines using sqlite4_env_config(). check-in: 5df080a1aa user: drh tags: trunk
18:10
Fix another problem with mmap and using a background thread. check-in: ec39163b79 user: dan tags: embedded-btree
15:43
Add LSM_CONFIG_NMERGE parameter. Add code to lsmtest so that lsm configurations can be specified in string form. check-in: 0fcabb513b user: dan tags: embedded-btree
14:51
Add version information to the start of the sqlite4_kv_methods object. Begin adding documentation on adding external storage engines. check-in: 568d9dca50 user: drh tags: trunk
00:05
Expose the sqlite4_kvstore object and its relatives in the public interface. check-in: 26f71bad46 user: drh tags: trunk
2012-06-25
23:17
Update the porting guide to include sqlite4_log() and sqlite4_randomness() in the set of functions requiring an sqlite4_env object. check-in: 7dcd06d12a user: drh tags: trunk
23:15
Add the sqlite4_env parameter to sqlite4_log(). check-in: e8814a06a8 user: drh tags: trunk
22:52
Make the initialization of the global built-in function table threadsafe. check-in: 366e83e3d7 user: drh tags: trunk
19:46
Complete removal of sqlite4_config(). All code now uses sqlite4_env_config() instead. check-in: 33bf91ee7c user: drh tags: trunk
19:34
Merge the sqlite4_env api changes onto trunk. There is still a lot of work to be done, but it at least now passes most tests. check-in: 4192f826d1 user: drh tags: trunk
19:28
Fixes to the kvwrap test interface. At this point, most tests pass, though there are still massive memory leaks. Major unresolved issues: (1) the global function. (2) API for substituting new storage engines. Leaf check-in: dee2172b52 user: drh tags: sqlite4_env
19:16
Fix another remapping related problem. check-in: 3e50bb0a22 user: dan tags: embedded-btree
18:53
Initialize the random number generator in sqlite4_initialize(). check-in: a34def59f7 user: drh tags: sqlite4_env
18:40
Fix a problem with stale pointers after remapping a file. check-in: 49cfd9043b user: dan tags: embedded-btree
10:02
Fix various glitches to do with iterating through b-tree structures. check-in: a983d57868 user: dan tags: embedded-btree
2012-06-23
20:22
Scan the embedded b-trees instead of the separator runs when merging in separator keys from a lower level. check-in: 90c0d5d8fe user: dan tags: embedded-btree
17:26
Tests run to completion now - no more assertion faults. But still lots of errors and memory leaks. check-in: 272ebdd8c0 user: drh tags: sqlite4_env
10:04
Add untested functions to save and restore b-tree cursor positions. check-in: cc0b45d17e user: dan tags: embedded-btree
2012-06-22
20:29
Continuing work on sqlite4_env and getting it to be used everywhere. The changes here are mostly having to do with mutexes. They compile, but there are errors. This is an incremental check-in so that I can change to work on another project where an issue has just come up. check-in: 1d65209131 user: drh tags: sqlite4_env
18:06
Merge trunk changes. check-in: df818c275b user: dan tags: embedded-btree
17:57
Add functions to iterate through b-tree keys. Also a complex assert statement to check that b-trees are correct with respect to the main run content. check-in: 29d761c438 user: dan tags: embedded-btree
16:55
Modify sqlite4_mem_methods to remove xRoundup, add the Benign methods, and for all methods to take an environment pointer as their first argument. check-in: 949cb749fe user: drh tags: trunk
14:58
Add the sqlite4_env parameter to sqlite4_threadsafe(). check-in: d3fa91fcba user: drh tags: trunk
14:38
Update sqlite4_snprintf() documentation to conform to the implementation. Add the sqlite4_env pointer to sqlite4_randomness(). check-in: 3d9d348099 user: drh tags: trunk
14:11
Add sqlite4_env pointers to BenignMalloc() interfaces. check-in: 1d55f52a68 user: drh tags: trunk
13:55
Hash objects track and use the sqlite4_env environment object. check-in: 51ce2f2c5a user: drh tags: trunk
13:41
Update the KVStore and KVCursor objects so that they track and use the run-time environment in which they were created. check-in: dfb7327a6b user: drh tags: trunk
13:07
Add (incomplete) notes on porting an application from SQLite3 to SQLite4. check-in: 4d0c4d3194 user: drh tags: trunk
13:02
Refactor the sqlite4_snprintf() interface to be closer to (but not exactly the same as) the design of snprintf() from the standard library. Make the StrAccum object aware of sqlite4_env. check-in: 8f6298ae15 user: drh tags: trunk
10:31
The same errors seen in the malloc-refactor branch are also on trunk, so go ahead and merge the malloc-refactor changes back into trunk. The errors were not caused by the refactoring, apparently. check-in: 91ba00572b user: drh tags: trunk
10:26
"make test" now runs to completion. But there are 5 errors and a big memory leak. Leaf check-in: 4360e4fcf7 user: drh tags: malloc-refactor
02:37
Begin refactoring the memory allocation logic to always require an environment pointer. This code will compile but does not run. check-in: 196691d50e user: drh tags: malloc-refactor
2012-06-21
20:22
Experimentally try embedding b-tree pages in sorted runs instead of creating an external separators run. This slows down the rate at which blocks can be cycled during incremental merging, but also makes database writes more contiguous. check-in: 97fe6585f1 user: dan tags: embedded-btree
19:13
Get the amalgmation build working. check-in: 2d7bf1c174 user: drh tags: trunk
2012-06-20
18:44
Do not crash if a NULL pointer is passed to lsm_work(). check-in: 9c5b3be405 user: dan tags: trunk
18:12
Fix errors in log1.test. check-in: e68d4c19fc user: dan tags: trunk
18:08
Avoid creating the first page of a separators run until the first key is actually ready. check-in: 370c91e3fb user: dan tags: trunk
15:21
Fix another issue to do with non-default page sizes. check-in: 081b0b60d9 user: dan tags: trunk
15:06
Make the page-size and block-size of a database read-only after the database has first been opened (even if it is has not been written to). check-in: d3bdb27143 user: dan tags: trunk
09:02
Fix a crash that can occur if there are multiple clients and one calls lsm_work() on an empty database. check-in: f148e2d69e user: dan tags: trunk
2012-06-19
20:13
Fix an issue with opening a database with a page-size other than the default. check-in: a3bb493051 user: dan tags: trunk
19:20
Fix typo in lsm.h. check-in: eac6a6e736 user: dan tags: trunk
19:18
Add OOM tests. check-in: af626f504f user: dan tags: trunk
17:12
Fix a memory leak. And a crash that can follow an OOM condition. check-in: 0b88b3e607 user: dan tags: trunk
15:49
Fix a bug in saving the free-list. check-in: 1b963352fc user: dan tags: trunk
11:06
Add the lsm_env.xFullpath method. check-in: a44d3a0079 user: dan tags: trunk
09:33
Add the lsm_env.xFileid method. check-in: 2c1cb6d1df user: dan tags: trunk
2012-06-18
11:58
Add an option to lsmtest to log all writes and syncs to a file. And a mode to play back the writes and syncs in a log file. check-in: 3ac27ad615 user: dan tags: trunk
09:49
Sometimes (quite infrequently), SQLite will call OP_Next or OP_Prev on a cursor that points at EOF (usually because it has been opened but not positioned). SQLite expects SQLITE_NOTFOUND here, but lsm considers this a misuse. Add a workaround to catch this case in kvlsm.c. check-in: 33f7f3d0ca user: dan tags: trunk
2012-06-16
20:17
Use LSM_SEEK_LEFAST to allocate rowids and table numbers. check-in: 17cbef9640 user: dan tags: trunk
17:57
Fix a typo in key_encoding.txt. check-in: 16087468ca user: dan tags: trunk
15:15
Wiki-ify more of the design document. check-in: 2918b534a9 user: drh tags: trunk
01:51
Largely replace sqlite4_config() and sqlite4_status() with sqlite4_env_config() and sqlite4_env_status(). Hold status information in the sqlite4_env object. The old sqlite4_config() interface is still used by test_storage2.c. check-in: 069df232c7 user: drh tags: trunk
00:52
Expand the sqlite4_env_config() functionality, moving it towards becoming a replacement for sqlite4_config(). check-in: bc03d8b6ae user: drh tags: trunk
2012-06-15
19:45
The sqlite4_initialize() and sqlite3_shutdown() routines now apply to a specific sqlite4_env object, not to the entire process. check-in: 816caf4560 user: drh tags: trunk
19:25
Remove LSM_INFO_CKPT. check-in: 265f78a59f user: dan tags: trunk
19:15
Remove the sqlite4_temp_directory global variable. check-in: 621d0959d3 user: drh tags: trunk
18:44
Add a link to env.wiki to the homepage. check-in: a9320cba9e user: drh tags: trunk
18:32
Add notes on the sqlite4_env run-time environment object. check-in: bd88d085ab user: drh tags: trunk
18:28
Ensure that the restrictions on lsm_csr_next() and lsm_csr_prev() calls are enforced. check-in: b8afdc063a user: dan tags: trunk
17:40
Remove more VFS code. check-in: e08d204b2c user: drh tags: trunk
17:19
Begin removing the VFS. check-in: 153c39d376 user: drh tags: trunk
17:01
Combine the lsm_cursor and MultiCursor structures. check-in: d5d71903fc user: dan tags: trunk
15:41
Remove the source files for the obsolete sqlite4_get_table() implementation. check-in: bc1ff706e6 user: drh tags: trunk
15:21
Remove tests cases that are specific to shared-cache, since SQLite4 does not have shared cache. check-in: 3db6e07474 user: drh tags: trunk
15:03
Remove all FTS1 and FTS2 test scripts. check-in: 540af0b093 user: drh tags: trunk
14:50
Remove the sqlite4_soft_heap_limit() and sqlite4_release_memory() interfaces. check-in: 74885d9cbf user: drh tags: trunk