SQLite4
Timeline
Not logged in

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

833 ancestors of [3fe22bbdf0]

2013-07-30
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
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
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
16:19
Change the way worker clients keep snapshots consistent so as to match the description in lsm.wiki. check-in: 0427b07c14 user: dan tags: trunk
14:47
Fix an assert() failure that can follow an OOM error. check-in: d65a5112b6 user: dan tags: trunk
14:19
Add code for emergency rollback of the shared-memory tree. check-in: d52cc59da3 user: dan tags: trunk
2012-09-11
18:57
Fix a problem preventing shared-memory space from being reused. check-in: 6f9c692a0e user: dan tags: trunk
18:48
Fix log file wrapping so that it works as described in lsm.wiki. This eliminates some BUSY errors that were coming up in multi-thread tests. check-in: f8ce14403f user: dan tags: trunk
17:44
Add lsm_env.xSleep() method. Fix shared-memory locks so that they work as described in lsm.wiki. check-in: 19f6896763 user: dan tags: trunk
11:47
Fix a memory leak in lsm_unix.c. check-in: bf4758ab15 user: dan tags: trunk
2012-09-10
20:07
Change locks to use 32-bit shm-sequence-ids instead of 64-bit tree-ids. check-in: acf38e32c8 user: dan tags: trunk
18:39
Change the way version races between the in-memory tree and lsm are handled in lsm.wiki. check-in: e12aa10a7c user: dan tags: trunk
15:08
Retire shm.wiki. Its contents are now in lsm.wiki. check-in: 011519e33f user: dan tags: trunk
14:45
Updates to lsm.wiki. check-in: cde7d1dcb0 user: dan tags: trunk
2012-09-08
20:08
Add lsm.wiki. check-in: 9a239a8516 user: dan tags: trunk
2012-09-05
19:10
Add more simple inter-process locking tests. check-in: 3674a5075c user: dan tags: trunk
18:52
Fix a bug in the lsm_unix.c xLock method. check-in: e50e06e52c user: dan tags: trunk
17:15
Fix a problem in test script misuse.test. check-in: 0ed91ba599 user: dan tags: trunk
16:18
When possible, reuse file-descriptors from the deferred-close list instead of opening new ones. check-in: 9350457414 user: dan tags: trunk
11:38
Fix some test script bugs in src4.test. check-in: 132d76341e user: dan tags: trunk
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
14:08
One more OOM related fix for lsm_log.c. check-in: 2069291793 user: dan tags: trunk
14:07
Changes to lsm_log.c to avoid crashing following an OOM condition. check-in: acfbe5d203 user: dan tags: trunk
2012-06-14
20:43
Add LSM_SEEK_LEFAST. But do not enable it in OP_NewRowid yet, as it causes too many test cases to fail. check-in: 91a802eedd user: dan tags: trunk
19:02
Make sure the constructors for KVStore objects have access to the sqlite3_env object. check-in: 22e89b1dc1 user: drh tags: trunk
18:01
Avoid storing a pointer to an lsm_env object in any structure that may be shared by more than one connection. check-in: d8018604ee user: dan tags: trunk
15:04
Fix an out-of-bounds read problem. check-in: 8785d13b06 user: dan tags: trunk
14:05
Remove some unused variables. check-in: 9b06d41f7b user: dan tags: trunk
11:38
Fix another memory leak. check-in: ba35f9d68a user: dan tags: trunk
09:54
Fix a test problem in lsmtest6.c. And some dropped return codes in lsm. check-in: 084e4c1ad8 user: dan tags: trunk
2012-06-13
20:24
Continue adding OOM tests. check-in: 7f7d7bc687 user: dan tags: trunk
17:41
Fix another memory leak. check-in: 9834ea1d9d user: dan tags: trunk
17:36
Fix long standing memory leak. check-in: 3380b739e1 user: dan tags: trunk
16:38
Fix further problems revealed by OOM injection tests. check-in: d6ce76ed01 user: dan tags: trunk
2012-06-12
20:20
Extra tests. check-in: a65d1ea34d user: dan tags: trunk
17:43
Start adding OOM injection tests to lsmtest. Fix issues along the way. check-in: d089a0f97e user: dan tags: trunk
2012-06-11
19:51
Improve documentation in lsm_file.c. Fix other problems. check-in: 9afb7862e4 user: dan tags: trunk
16:35
Changes so that phantom runs work in mmap mode. check-in: 57e0f3288d user: dan tags: trunk
16:00
Fix the way meta-pages are handled in lsm_file.c. check-in: d352b485a6 user: dan tags: trunk
2012-06-09
20:08
Simplify the code that selects runs to merge to use an algorithm more like an ordinary merge sort. Store the number of times each level has been merged in the checkpoint blob. Add a way to elect to use mmap() instead of read()/write() for IO at runtime. check-in: e1816661f1 user: dan tags: trunk
2012-06-05
19:38
Remove Database.pCkptMutex. Fix a problem with database files larger than 2GB. check-in: 84ea6f9a68 user: dan tags: trunk
15:32
Add new methods to struct lsm_env: xUnlink and xSectorSize. check-in: 549b270c77 user: dan tags: trunk
11:52
Improve the "lsmtest speed" command. check-in: 2d2ca7bb25 user: dan tags: trunk
2012-06-04
19:52
Switch to using the C interface when building leveldb into lsmtest. check-in: 0ad3b38e01 user: dan tags: trunk
18:14
Embed checksums in selected WRITE and DELETE records to limit the size of allocations and reads that may be made during recovery as a result of garbage in log files. check-in: 66d3f705c6 user: dan tags: trunk
14:23
Fix a problem with holding lsm cursors open when the in-memory tree is flushed to disk. check-in: dc75aaa181 user: dan tags: trunk
09:26
Add an option to lsmview.tcl to display database keys and values using hex notation. check-in: ac42c5dbca user: dan tags: trunk
2012-06-02
19:25
Change the 'lsmtest crash' command to accept a glob pattern as an argument. check-in: a64905f08e user: dan tags: trunk
18:55
Fix some of the lsmtest crash recovery tests. Update the code in lsm_log.c so that if synchronous=FULL, each transaction in the log file is stored on its own set of disk sectors. check-in: 960afb3114 user: dan tags: trunk
2012-06-01
19:47
Fix test infrastructure for lsmtest power failure tests. check-in: 5666f70625 user: dan tags: trunk
14:29
Fix a problem displaying pointers in lsmview.tcl. check-in: f0adbf3613 user: dan tags: trunk
13:17
Further improvements to lsmview.tcl. check-in: acd617edb0 user: dan tags: trunk
2012-05-31
20:07
Enhance lsmview.tcl so that it may be passed a database name on the command line. check-in: d34cc3832d user: dan tags: trunk
19:11
Add lsm_info() options to obtain the list of pages for an array, and to dump the contents of a page in human readable form. check-in: 0bdcfc3932 user: dan tags: trunk
2012-05-30
20:17
Fix a problem with log-wrapping triggered by an asynchronous checkpoint. check-in: 99b6b9ade5 user: dan tags: trunk
18:41
Log-file related fixes for savepoint rollback. check-in: 23794ed181 user: dan tags: trunk
17:10
Simplify the internals of lsm_log.c a bit. check-in: af5842b48f user: dan tags: trunk
12:02
Avoid overwriting runs that may still be in use when performing background work. check-in: 771940c9cc user: dan tags: trunk
2012-05-29
18:03
Fix a problem causing a block to be added to the freelist and reused as part of the same write. check-in: d515a162a2 user: dan tags: trunk
16:08
Fix a crash when attempting to close a database handle on which lsm_open() has failed. check-in: d1817c36d2 user: dan tags: trunk
16:02
Fix checkpointing of databases that contain large numbers of levels. check-in: e867c0cea0 user: dan tags: trunk
2012-05-28
19:20
Fix a bug causing the generation of very large database files. check-in: 4550832dec user: dan tags: trunk
18:25
Remove the "append-list" from the shared data and checkpoint formats. check-in: 75b9eec7fb user: dan tags: trunk
2012-05-23
11:49
Fix problems with log wrapping. check-in: d2c9dc4ffa user: dan tags: trunk
2012-05-22
19:46
Add missing test/test_lsm.c file. check-in: 385799592f user: dan tags: trunk
19:45
Further progress and test cases for logging. check-in: 20ec785d0a user: dan tags: trunk
2012-05-21
20:13
Further work on logging and thread-safety in lsm. check-in: 2f9b09b9b8 user: dan tags: trunk
09:02
Further work on LSM log files. Add the sqlite4_kvstore_control() interface. The only use of this so far is to allow applications to retrieve the lsm_db* handle associated with a database backup. This is useful for testing. check-in: ad1c1793fc user: dan tags: trunk
2012-05-19
10:03
Update log file format comments in lsm_log.c. Store the current log file offset as a part of each checkpoint record. check-in: 802871916a user: dan tags: trunk
2012-05-18
16:13
Truncate any log file to zero bytes in size as part of a clean database shutdown. check-in: 50a7df2a67 user: dan tags: trunk
15:04
Logging related fix for databases with multiple clients. check-in: e607910f65 user: dan tags: trunk
09:20
Fix a bug in log recovery checksums. check-in: 48bb7fd595 user: dan tags: trunk
2012-05-17
20:01
Re-enable logging. Still buggy. check-in: 279f148134 user: dan tags: trunk
2012-05-11
11:07
Fix typos in the design.wiki document. check-in: 4afc8d05d7 user: drh tags: trunk
2012-05-09
16:58
Fix problems with multi-threaded lsm tests. check-in: 41a5660c29 user: dan tags: trunk
14:35
Mark checkpointed b-tree pages as read-only when they are reloaded from disk. Fix other lsm problems related to [8e27d1f99c]. check-in: 4c8557b77c user: dan tags: trunk
11:46
Minor tweak to the decimal_floating_point.txt note. check-in: df636b697a user: drh tags: trunk
11:37
Tweaks to the design summary document. check-in: a36eae7be6 user: drh tags: trunk
09:23
Fix crash in debugging function lsmLogMessage(). check-in: 009cce0921 user: dan tags: trunk
2012-05-08
23:38
Begin adding documentation in the www/ directory. check-in: 6df890f9b0 user: drh tags: trunk
20:02
Re-enable writing separators and main runs to the same block. check-in: 8e27d1f99c user: dan tags: trunk
14:19
Fix a problem in lsmtest4.c. check-in: e52e8a370d user: dan tags: trunk
11:51
Fix lsmtest "rollback" tests. Fix a memory leak in lsm_shared.c. check-in: 788cb6b961 user: dan tags: trunk
2012-05-07
19:53
Enable the fenceposting code in lsmtest_mem.c. Fix a bug in lsm_mem.c. Remove traces of the old mutex API. check-in: adca302324 user: dan tags: trunk
18:57
Fix compilation problem in lsmtest. check-in: e5c56f655f user: dan tags: trunk
18:39
Use lsm_env instead of lsm_mutex_methods. check-in: ee29d7847d user: dan tags: trunk
17:33
Remove lsm_vfs. Use lsm_env instead. check-in: a9c6261d5d user: dan tags: trunk
16:47
Ensure that all allocations made by the LSM module use the supplied malloc functions supplied by the user. check-in: 1029e6cce7 user: dan tags: trunk
12:06
Import code for the "lsmtest" test utility. check-in: 49ff55e1a6 user: dan tags: trunk
08:57
Remove unused functions dflt_malloc() and friends from lsm_mem.c. check-in: 7a603fa454 user: dan tags: trunk
2012-05-05
16:33
Update the original rowset code so that it works with variable length keys. Remove the placeholder keyset code. check-in: 51d37b1626 user: dan tags: trunk
08:31
Remove the sqlite4.pVfs variable. check-in: ba6ca06478 user: dan tags: trunk
08:14
Expand the set of sqlite3 tests run by src4.test. check-in: 6610b8134e user: dan tags: trunk
2012-05-04
19:01
Fix a crash in "? IN (SELECT ... ORDER BY ... LIMIT)" expressions. Also a crash in lsm_csr_valid(). check-in: b688877924 user: dan tags: trunk
16:05
Fix a crash that can occur if the index specified by an INDEXED BY clause cannot be used. check-in: 7b6ffb0a0b user: dan tags: trunk
13:00
Fix a crash in scalar sub-selects that have ORDER BY clauses. check-in: 927b8c3427 user: dan tags: trunk
09:09
Update the explainIndexRange() function. check-in: 9dac245adf user: dan tags: trunk
2012-05-03
20:07
Remove a bad assert(). Fix rowid related crashes in triggers and foreign keys. check-in: 8bcdfe884e user: dan tags: trunk
17:18
Remove the update, commit, rollback and wal hooks. check-in: d38792589b user: dan tags: trunk
16:34
If both UNIQUE and PRIMARY KEY constraints are attached to the same set of columns, make sure the single index SQLite creates is the PRIMARY KEY (so that the table doesn't end up with an IPK). check-in: add223fab0 user: dan tags: trunk
16:04
Fix for "DISTINCT rowid" queries that have more than one datasource in the FROM clause. check-in: 47b30670d4 user: dan tags: trunk
15:04
Continuing work on cutting over the lsm_env logic in LSM. check-in: d8e75dd125 user: drh tags: trunk
09:57
Update boundary1.test. check-in: 2e9888ce58 user: dan tags: trunk
2012-05-02
20:09
Fix the commit and rollback hook callbacks. Remove more dead code. check-in: 9ca276ac06 user: dan tags: trunk
19:19
Fix warnings and other code issues. check-in: 6860a3b80c user: dan tags: trunk
15:49
Fix automatic indexes. check-in: d32ba91d2b user: dan tags: trunk
2012-05-01
20:01
Improve the EXPLAIN QUERY PLAN output a little. check-in: 6c6ce37269 user: dan tags: trunk
18:18
Remove an incorrect assert() from where.c. check-in: 51563f07cb user: dan tags: trunk
17:12
Remove the RowSet object. Implement enough of KeySet so that everything works (UPDATE, DELETE and the "or-optimization" for WHERE clauses). The "or-optimization" is still inefficient. check-in: f53a618a2a user: dan tags: trunk
11:34
Fix bugs in where.c and vdbe.c that occur when using a non-PK index to optimize an inequality on the PK fields. check-in: 6baa42724c user: dan tags: trunk
10:29
Fix a typo in [989bd130d7]. check-in: 93167e13de user: dan tags: trunk
2012-04-30
19:27
Fix a crash occuring in lsm following a failed call to open(). And another in "BEGIN EXCLUSIVE". check-in: 989bd130d7 user: dan tags: trunk
18:39
Fix a problem with aggregate queries that do not use any column values in the expression-list. e.g. "SELECT count(*) FROM ...". check-in: e44d955795 user: dan tags: trunk
16:49
Fix for WHERE terms of the form "a IN (SELECT x FROM tbl)" for cases where there is a UNIQUE index on tbl.x that is not used by the query. check-in: d8e2b6be11 user: dan tags: trunk
11:56
Fix some lsm problems with modifying the database while there are active cursors. check-in: cb9f166a72 user: dan tags: trunk
08:54
Fix some problems with sqlite4_changes() and DELETE statements. check-in: 5f5ca72866 user: dan tags: trunk
2012-04-28
17:59
Update scripts fkey3.test and fkey4.test. check-in: ebe7972eb3 user: dan tags: trunk
17:50
Fix problems with foreign key actions. check-in: b7f7cd27ac user: dan tags: trunk
16:03
Update some test cases in triggerC.test. check-in: 76ea2fc0e8 user: dan tags: trunk
15:03
Fix a problem with updating primary key fields. Change the error message generated when a PRIMARY KEY constraint is violated to match SQLite 3. check-in: f61bb092cb user: dan tags: trunk
02:39
Refactor the memory-printf components of LSM to be in a more manageable form. More work is needed here. check-in: 5ae95088ab user: drh tags: trunk
2012-04-27
23:16
Work towards converting LSM to use the lsm_env structure and avoid all use of global and static variables. The check-in works, but the changes are only beginning have for the most part have not been cut over yet. This is merely an incremental check-in. check-in: d28f9b6503 user: drh tags: trunk
19:45
Restore the initial value of the database deferred FK constraint counter if a statement transaction is rolled back. check-in: 145889c3c9 user: dan tags: trunk
19:20
Fix a bug in OP_IsUnique. check-in: 17b729a2fd user: dan tags: trunk
16:30
Update some savepoint related test cases so that they work with sqlite 4. check-in: cc3e890839 user: dan tags: trunk
15:01
Fix an lsm problem with rollback. check-in: eae7182230 user: dan tags: trunk
2012-04-26
19:59
Progress towards working savepoints. Fixes to LSM transaction handling. check-in: 365620b19d user: dan tags: trunk
11:30
Fix various compiler warnings. Begin fixing savepoint logic. check-in: 76cd35aad6 user: dan tags: trunk
2012-04-25
19:00
Do not attempt to reindex the primary key index. Add an xMakeKey callback for the RTRIM collation. check-in: 146284d2de user: dan tags: trunk
17:24
Remove support for "oid" and "_rowid_". Only support "rowid" on tables that have an implicit primary key. check-in: e40c75ec8d user: dan tags: trunk
16:18
If necessary, convert text to the correct encoding before invoking a collation sequence xMakeKey callback. check-in: e56fd972d1 user: dan tags: trunk
12:16
Add the "blessing" boilerplate, with correct dates, to the top of each LSM source file. check-in: d71f9ef975 user: drh tags: trunk
11:21
Add lsm source files. check-in: 46ae3fcec6 user: dan tags: trunk
09:59
Fixes for DESC indexes. check-in: 704936cfc8 user: dan tags: trunk
2012-04-24
19:44
Added clarification for the key-encoding of text. check-in: efe3d2e0e7 user: drh tags: trunk
18:47
Correct a buggy assert() in insert.c. check-in: 35e984dde5 user: dan tags: trunk
17:54
Updates to test scripts and main.mk. check-in: 99459e1ea9 user: dan tags: trunk
11:26
Move the test C code from the src/ to the test/ subdirectories. check-in: 26f16cc588 user: drh tags: trunk
11:16
Clean up the top-level directory by removing the configure script at its associated files. (We'll add back in autoconfig later.) And moving AWK scripts into the tool/ directory. check-in: 5c7177fa33 user: drh tags: trunk
00:34
Remove the bitvec.c module as it was no longer being used. check-in: 68df3f5ea7 user: drh tags: trunk
2012-04-23
23:02
Change the sqlite4_config() interface so that it applies to a particular sqlite4_env object. check-in: 6a87af6545 user: drh tags: trunk
21:08
Get rid of sqlite4_open_v2() and sqlite4_open16(). Change sqlite4_open() to take an sqlite4_env pointer and a zero-terminated varargs list of options. No options are currently recognized. check-in: b94314c297 user: drh tags: trunk
19:49
Towards an sqlite4_env object that defines the run-time environment. This is not a complete check-in, just an incremental change (hopefully) in the right direction. check-in: 88ac7f6772 user: drh tags: trunk
18:38
Fix a problem to do with copying from the sorter to a temporary table in select.c. check-in: 187316a0dc user: dan tags: trunk
16:50
Change the tcl interface so that tcl scripts may specify collation sequence xMkKey callbacks. check-in: 6ebe82280d user: dan tags: trunk
15:49
Remove the OS/2 interface logic. check-in: 9a64e0bc7e user: drh tags: trunk
14:54
Fix a bug in the nocase collation xMkKey function. check-in: fe9ccd646d user: dan tags: trunk
14:26
Remove the VDBE merge sorter. check-in: 1073bb477e user: drh tags: trunk
14:11
Add an xMkKey callback to the built-in collation sequence "nocase". Fix a bug in encoding text values with collation sequences into database keys. check-in: 6c9adc9acc user: dan tags: trunk
12:47
Remove the sqlite4_get_table() API. check-in: ff68adaca1 user: drh tags: trunk
12:07
Allow multiple NULL values in a UNIQUE index. check-in: 4dbb499c39 user: dan tags: trunk
11:45
Fix a bug in CREATE INDEX where the number of columns in the index is fewer than the number of columns in the primary key. check-in: b0ac144cf5 user: drh tags: trunk
09:40
Fix for compound EXCEPT queries. check-in: 2dc7b22339 user: dan tags: trunk
2012-04-21
19:59
Additional comments on the key encoder. Remove an unused variable. check-in: fdaed18ddf user: drh tags: trunk
19:19
Fix an off-by-one problem with encoding real values into index keys. Add a test for sorting numeric values. check-in: 7017d07fea user: dan tags: trunk
18:55
Fixes to the text of the key encoding definition in key_encoding.txt. check-in: ee5b8b8d11 user: drh tags: trunk
17:33
Get some more aggregate queries working. check-in: 7aace3e09f user: dan tags: trunk
13:56
Get rid of the page-cache and scratch memory allocators. check-in: 9346a42e0d user: drh tags: trunk
13:18
Remove the alternative pcache mechanism. check-in: bf89aa0f37 user: drh tags: trunk
13:00
All filenames are now URI capable. There is no provision for disabling URI filenames. check-in: 735870610b user: drh tags: trunk
12:49
Remove the last traces of shared cache mode. check-in: 27e0994174 user: drh tags: trunk
00:40
Remove cruft: (1) The sqlite4_prepare_v2() function becomes sqlite4_prepare and all other prepare functions are removed. (2) sqlite4_extended_result_codes() is removed. Extended result codes are now always enabled. (3) The sqlite4_busy_handler() and sqlite4_busy_timeout() functions are removed. check-in: e454574981 user: drh tags: trunk
2012-04-20
20:41
Move development back to trunk. check-in: 76ca8d1bee user: drh tags: trunk
20:38
Changes so that things work without SQLITE_ENABLE_LSM. Closed-Leaf check-in: 49e419f4e8 user: dan tags: primary-keys
20:15
Fix the sqlite4RefillIndex() function. This removes the broken (and disabled) merge-sort code. check-in: 9ac54fff5f user: dan tags: primary-keys
18:35
Changes to where.c to use the PK columns appended to each auxiliary index entry. check-in: 4c1dca78b3 user: dan tags: primary-keys
14:21
A fix to sqlite4VdbeDecodeIntKey(). check-in: b05e622090 user: drh tags: primary-keys
2012-04-19
18:51
Fix a problem with inequality constraints and indexes. check-in: 14d96763cc user: dan tags: primary-keys
18:33
Fixes for scans on indexes other than the primary key. check-in: ed6ac6860b user: dan tags: primary-keys
2012-04-18
18:27
Add file kvlsm.c, a KVStore wrapper around lsm. check-in: 174119bec7 user: dan tags: primary-keys
2012-04-17
18:49
Comment out some tests in select1.test that depend on "PRAGMA full_column_names" and "PRAGMA short_column_names". check-in: 946fe6504a user: dan tags: primary-keys
18:47
Fix a couple of issues with ORDER BY. check-in: 34138a088b user: dan tags: primary-keys
09:10
Enforce NOT NULL on all PRIMARY KEY columns. check-in: 035fdd3f5e user: dan tags: primary-keys
08:23
Fix more problems with triggers and triggers on views. check-in: 77b33bff0a user: dan tags: primary-keys
05:36
Fix an issue with sub-transaction rollback. check-in: 123a055a36 user: dan tags: primary-keys
2012-04-16
19:04
Get most of the trigger logic working again. Still some problems. check-in: b480943c48 user: dan tags: primary-keys
2012-04-14
19:38
Fixes to foreign key logic. And other things. check-in: 69cf7caf80 user: dan tags: primary-keys
2012-04-13
19:17
Fix sub-transaction commit in kvmem.c. Also various aspects of constraint handling. check-in: 365eb3c6de user: dan tags: primary-keys
16:45
Fix a problem in kvmemRemoveNode() causing a pUp (parent node) pointer to be set incorrectly. check-in: 7faa762755 user: dan tags: primary-keys
10:35
Add placeholder code to make ROLLBACK (and OR ROLLBACK constraints) work a bit. check-in: 367fdc8463 user: dan tags: primary-keys
05:50
Ensure that kvmemSeek() does not come to rest on a deleted node. check-in: 21991a932a user: dan tags: primary-keys
2012-04-12
19:52
Further fixes to things. check-in: 81fab25002 user: dan tags: primary-keys
11:49
Fix a problem in kvmemRemoveNode. check-in: f3c424ddf3 user: dan tags: primary-keys
2012-04-11
18:48
Fix some problems with REPLACE and other conflict handling. check-in: ff493aaa41 user: dan tags: primary-keys
15:01
Fix various bugs. check-in: a70fb0629b user: dan tags: primary-keys
2012-04-10
19:52
Changes to support "real" user-defined primary keys. This is quite broken at present. check-in: 3841829752 user: dan tags: primary-keys
2012-03-01
14:47
Minor changes so that the code builds on Mac. check-in: a03018e6b8 user: drh tags: trunk
2012-02-23
17:56
Modify the key encoding so that integer values use one less byte of space. check-in: af96bd359f user: drh tags: trunk
2012-02-22
14:20
Add the "kvdump" pragma for debugging. check-in: 4746d99cc1 user: drh tags: trunk
13:15
CREATE INDEX runs, though index queries does not work yet so there is no way to test that the index was correctly created. check-in: 70f15a5352 user: drh tags: trunk
02:44
Remove the OP_Destroy opcode. Add an implementation for OP_Clear. check-in: 15cf832dfc user: drh tags: trunk
00:11
Remove the OP_CreateTable and OP_CreateIndex opcodes, which are not required with the key/value backend. check-in: 31b1faa995 user: drh tags: trunk
2012-02-21
20:03
Only the bare basics work. But we might as well go ahead and call this the trunk since we are unlikely to ever need to bisect back into this massive rewrite effort. check-in: a101b3e1c4 user: drh tags: trunk
20:01
Inserting multiple rows into a table and querying via full-table scan is now working. Leaf check-in: 6838c8a3a7 user: drh tags: remove-btree
19:57
Improved storage tracing output. check-in: d4c10f88ad user: drh tags: remove-btree
19:32
CREATE TABLE and a single row INSERT followed by SELECT now working. Still lots of stuff that doesn't work, though. check-in: 65f1e9a86f user: drh tags: remove-btree
19:20
Fix to kvmemSeek(). check-in: 05d897a0ae user: drh tags: remove-btree
17:11
Incremental check-in. Compiles but does not work. check-in: 829f7f1a65 user: drh tags: remove-btree
15:19
Incremental check-in. Trying to get it running. check-in: c055a35d1e user: drh tags: remove-btree
14:50
The testfixture now compiles. check-in: e85db5d81b user: drh tags: remove-btree
2012-02-20
19:49
Incremental check-in. Compiles but still does not run. check-in: cc977cdcc6 user: drh tags: remove-btree
18:46
Progress on transaction control. check-in: d5755d3561 user: drh tags: remove-btree
2012-02-17
20:33
Incremental check-in. The shell compiles and runs. Now trying to get it to work. check-in: 2843c28b82 user: drh tags: remove-btree
16:23
Add the kv_trace and trace pragmas. check-in: e37bee4f61 user: drh tags: remove-btree
12:45
Compiles and links. check-in: 5c44baf3fe user: drh tags: remove-btree
12:12
Incremental check-in - working toward getting it to compile. check-in: 18d380e9a6 user: drh tags: remove-btree
2012-02-16
22:17
Incremental check-in. Does not compile. check-in: 3165b1b5fb user: drh tags: remove-btree
2012-02-08
21:47
This is an incremental check-in for the massive change that removes the old b-tree layer and substitutes a uniform key-value namespace. Nothing works at this point. This check-in is just a checkpoint. check-in: 87d659d624 user: drh tags: remove-btree
2012-01-26
22:11
Always call OP_MakeKey before OP_MakeRecord prior to adding content to an index. check-in: 29c1ec8e6b user: drh tags: trunk
20:53
Fix the data codec so that it handles Inf and NaN. Make sure OP_MakeKey is only called with an index cursor. check-in: bfa05539ea user: drh tags: trunk
18:22
Adjust the initial values on the key encoding to provide auxiliary key space before and after the rows of each table. check-in: af6351afdd user: drh tags: trunk
16:34
First cut at a complete codec for both key and data. Data decoding is untested. check-in: 8e27a5ca62 user: drh tags: trunk
2012-01-25
17:40
Progress on the key encoder. Text value are still not encoded for keys. check-in: 4b07acf688 user: drh tags: trunk
03:33
Add the vdbecodec.c source file including stub functions for all encoders and decoders. Initial implementation for the data encoder. check-in: 6c42bd8b4f user: drh tags: trunk
2012-01-24
20:48
Remove lots more unused code. check-in: dcf2f7b862 user: drh tags: trunk
14:22
Fix the spelling of "lexicographical". check-in: a20f69592c user: drh tags: trunk
13:58
Add the database_design.txt document. check-in: b3390b2d58 user: drh tags: trunk
13:38
Many code simplifications. Removing support for shared-cache mode, VACUUM, multiplexor, test_stat, progress handler, etc. check-in: 3ebe674aed user: drh tags: trunk
2012-01-23
18:23
Change sqlite4_create_collate() to take comparison, key-generator, and destructor functions. Omit _create_collate16() and _create_collate_v2(). check-in: 9feaae9f84 user: drh tags: trunk
17:22
A few more tweaks for moving the version number from 3 to 4. check-in: 4dc43e1c6b user: drh tags: trunk
17:12
Add the varint.c module, but do not yet link it into the build. check-in: 3fc5c75369 user: drh tags: trunk
16:22
Rename all of the interfaces from "sqlite3" to "sqlite4" check-in: 9191010833 user: drh tags: trunk
16:01
Add tracing to the KV interface. Create KV parallels to all btrees. check-in: cda3f53d63 user: drh tags: trunk
2012-01-21
21:01
All storage APIs have at least one test now. check-in: 9e3883a529 user: drh tags: trunk
19:00
Begin adding more test cases. Fix problems as they are discovered. check-in: 4af50ccf11 user: drh tags: trunk
18:09
Storage code compiles and links. Initial bits of code for TCL interface. check-in: 921bb26d2a user: drh tags: trunk
16:33
Check-in untested code and design notes for an in-memory storage subsystem. check-in: b713405686 user: drh tags: trunk
2012-01-20
01:21
Add extensions and a Makefile. check-in: 5371cead94 user: drh tags: trunk
01:19
Initial check-in of code - a copy of SQLite3 check-in: cc3802d407 user: drh tags: trunk
01:18
initial empty check-in check-in: 84d5dea8fd user: drh tags: trunk