SQLite4
Timeline
Not logged in

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

833 ancestors of [3fe22bbdf0]

2013-07-30
14:16
[3fe22bbdf0] Closed-Leaf: Checked in untested changes by mistake. (user: drh, tags: mistake)
13:22
[3fa3e910e2] Remove unused P4 parameter type codes. Other cleanup of P4. (user: drh, tags: trunk)
12:14
[eddeadfc27] Simplification of the ORDER BY code generator logic, requiring fewer calls to OP_Column. (user: drh, tags: trunk)
11:55
[c748d90f94] Reenable fts5 hooks in where.c. (user: dan, tags: trunk)
02:47
[b9e5f3c6df] Update the sorter logic to eliminate the need for pseudo-tables and remove the code that implemented them. (user: drh, tags: trunk)
02:11
[34abc4149f] Provide more detail in the P4 column in EXPLAIN output. (user: drh, tags: trunk)
01:30
[3b7caafe8c] Combine the OP_IdxInsert, OP_SorterInsert, and OP_Insert opcodes into the single OP_Insert opcode. (user: drh, tags: trunk)
2013-07-29
20:26
[6d33ce14cd] 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. (user: drh, tags: trunk)
19:31
[3e371e1a44] Remove the unused OP_InsertInt opcode from the VDBE. (user: drh, tags: trunk)
18:07
[4856f08944] Remove some rowid-related dead code from where.c. Fix other code issues in the same file. (user: dan, tags: trunk)
17:57
[20962f1a72] 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. (user: drh, tags: trunk)
17:15
[753ffb5857] Improved EXPLAIN output for the OP_Permutation and OP_Blob opcodes. (user: drh, tags: trunk)
12:31
[736b5e6a1a] Fix an typo affecting virtual WHERE clause terms made in [3f4a1c7648]. (user: dan, tags: trunk)
2013-07-27
18:52
[2fbe583868] Fixes for sqlite_stat3 related functionality. Also EXPLAIN QUERY PLAN. (user: dan, tags: trunk)
2013-07-26
21:13
[9eb585660b] Remove unused fields from KeyInfo. Enhancement the EXPLAIN output for KeyInfo P4 columns. (user: drh, tags: trunk)
20:04
[3f4a1c7648] Update where.c with patches from sqlite3. src4 where.c is now based on sqlite3 artifact 1a26c37b7b. (user: dan, tags: trunk)
19:13
[faac50a266] Fix some issues with assigning costs to loops in where.c. (user: dan, tags: trunk)
16:59
[0a923f20d2] Fix minor errors in the key encoder. (user: drh, tags: trunk)
16:20
[0275ee48db] 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. (user: drh, tags: trunk)
15:30
[30167422e4] Add decoder logic to facilitate extracting column values from the key of a key/value pair for a row. (user: drh, tags: trunk)
2013-07-25
23:26
[b5ceafc26f] Add the kvreplace(K,V) pragma for use in testing. (user: drh, tags: trunk)
20:02
[2244abfac2] Partially reenable automatic indexes. Six legacy tests cases in autoindex1.test are still failing as of this commit. (user: dan, tags: trunk)
15:13
[97c7b5580f] Reenable the whereShortCut() optimization. (user: dan, tags: trunk)
14:18
[3bbe9e80b8] Update test file eval.test to account for caching in the RowDecoder. (user: dan, tags: trunk)
12:12
[856ed13e06] 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". (user: dan, tags: trunk)
02:52
[70d85ff051] Update comments on OP_MakeRecord. No changes to code. (user: drh, tags: trunk)
01:12
[d5abe1bca0] Fix the RowDecoder caching logic by adding new cache clears to opcodes that move the cursor. (user: drh, tags: trunk)
00:55
[6ed358511b] 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. (user: drh, tags: trunk)
2013-07-24
21:38
[5d08b14478] Move all VdbeCursor methods into the vdbecursor.c source file. (user: drh, tags: trunk)
20:07
[6c7c9133d7] 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. (user: drh, tags: trunk)
19:25
[41fc47c1cd] Replace test file distinct.test with the version from sqlite3. This version accounts for NGQP related changes. (user: dan, tags: trunk)
18:56
[a30bf1665b] Remove routines related to sqlite3 varint format. (user: dan, tags: trunk)
18:47
[edd188471c] Remove the (non-working) xfer-optimization code. (user: drh, tags: trunk)
18:30
[9e99914519] Reenable covering index support in NGQP. (user: dan, tags: trunk)
2013-07-23
16:50
[7f6b4708c2] 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). (user: dan, tags: trunk)
2013-07-22
20:12
[b7ac369ba7] Add two new value-encoding header codes to represent REAL-IN-KEY and NONREAL-IN-KEY. This is an incompatible file format change. (user: drh, tags: trunk)
19:49
[610033d7f5] Fix compiler warnings. (user: drh, tags: trunk)
18:38
[1710627ec6] Add the COVERING clause to CREATE INDEX statements. Does not work yet, this commit just adds parser support. (user: dan, tags: trunk)
13:24
[446fbd37d1] Disable automatic indices at all times. They do not currently work. Needs to be fixed. (user: drh, tags: trunk)
12:50
[4af30d63ec] Merge the NGQP branch back into trunk. Currently 12 tests are failing in src4.test (all errors are artifacts of the test code). (user: dan, tags: trunk)
12:28
[15e8dd41a9] Changes necessary to get TH4 to compile again. (user: drh, tags: trunk)
2013-07-20
20:20
[ed333d20c7] Leaf: Fix for optimization of DISTINCT. (user: dan, tags: nextgen-query-planner)
16:32
[dd9849225b] Update test script e_fkey.test. (user: dan, tags: nextgen-query-planner)
16:10
[3eaf921c5b] Another problem with LIKE optimization. (user: dan, tags: nextgen-query-planner)
2013-07-19
20:03
[3b9ae7c6db] Update a couple of test case files. (user: dan, tags: nextgen-query-planner)
19:20
[57b8ae848c] Fix a bug to do with ORDER BY and collation sequences. (user: dan, tags: nextgen-query-planner)
18:33
[cc7bc86da5] Fix some problems to do with optimizing ORDER BY queries. (user: dan, tags: nextgen-query-planner)
2013-07-18
19:53
[8330a46831] Fix some problems with the LIKE optimization. (user: dan, tags: nextgen-query-planner)
00:58
[4beefed2c9] Fix a typo in the "key format" documentation. (user: drh, tags: trunk)
2013-07-17
20:03
[6f06ebee56] Fix a bug preventing the planner from finding sorting indexes. (user: dan, tags: nextgen-query-planner)
18:49
[9844269b3d] Further updates to ngqp code. (user: dan, tags: nextgen-query-planner)
2013-07-16
20:01
[bc9c9f73c5] Updates to use the next-generation-query-planner from the SQLite3 project. This branch is largely broken. (user: dan, tags: nextgen-query-planner)
2013-07-06
23:14
[ed79d6f7fa] Add tests for sqlite4_num_sub with inf and nan. (user: peterreid, tags: trunk)
23:07
[abaf3f1abd] Change some repetitive num tests into loops. (user: peterreid, tags: trunk)
22:55
[1d4a5055fa] Remove unused variables from sqlite4_num_mul. (user: peterreid, tags: trunk)
22:43
[04dad0b7c9] Multiplying NaN*Inf returns NaN, as Inf*NaN already did. Add related test cases. (user: peterreid, tags: trunk)
04:15
[960d38f214] Remove no-longer-used P4_REAL type for VdbeOp, which has been replaced by P4_NUM. (user: peterreid, tags: trunk)
03:59
[40b76362c9] Display sqlite4_nums correctly when explaining query plans. (user: peterreid, tags: trunk)
2013-07-04
18:44
[1468464069] Copy the new version of script "like.test" from sqlite3 to this project. Then tweak it to work. (user: dan, tags: trunk)
17:17
[2711bdb5fd] Fix a problem with reading utf-8 encoded text values from the database when the first byte of the text is 0x02. (user: dan, tags: trunk)
2013-06-29
20:12
[de90289df1] Also run legacy scripts index.test and laststmtchanges.test. (user: dan, tags: trunk)
18:46
[cb7a8b464e] Run further legacy tests. Fixes for bugs brought to light by the same. (user: dan, tags: trunk)
2013-06-27
20:23
[d6d0e21ad2] Run some more legacy tests. Fix some issues with converting between text and numeric values. (user: dan, tags: trunk)
17:40
[731841907a] Run some more legacy test cases. (user: dan, tags: trunk)
2013-06-26
20:29
[22365cae27] Further fixes for legacy test cases. (user: dan, tags: trunk)
16:46
[13f06a9fbe] Reintroduce pragma command "database_list". Fix a bug in MakeIdxKey. Fix some legacy test case scripts. (user: dan, tags: trunk)
2013-06-25
20:07
[c23ed5d08f] Fixes for ALTER TABLE functionality. (user: dan, tags: trunk)
16:22
[21b5123716] Also run analyze8.test as part of src4.test. (user: dan, tags: trunk)
15:28
[8a25008dfe] Fix comments and a memory leak in analyze.c. (user: dan, tags: trunk)
14:47
[95933bb7ca] Have the planner always consider the PK index, even when it does not serve to satisfy any contraints or ordering requirements. (user: dan, tags: trunk)
11:58
[8eb90b6647] Run test files analyze5.test, analyze6.test and analyze7.test as part of src4.test. (user: dan, tags: trunk)
2013-06-24
20:06
[bad9060b5b] Fix another bug in sqlite_stat3 related code. (user: dan, tags: trunk)
19:03
[f93e75f2b1] Fixes for the sqlite_stat3 related ANALYZE functionality. (user: dan, tags: trunk)
2013-06-22
19:57
[d5d0e93a57] Fixes for SQLITE4_ENABLE_STAT3 builds. (user: dan, tags: trunk)
2013-06-17
20:15
[7d8efac62f] Modifications to make the ANALYZE command work (sqlite_stat1 only). (user: dan, tags: trunk)
05:35
[02ec769ae0] Remove the sqlite4_progress_handler interface. Change the documentation of load_extension() to say that it sets the db handle error message and code. (user: dan, tags: trunk)
2013-06-15
19:47
[fd63f9cb75] Add destructors to the sqlite4_trace and sqlite4_profile routines. (user: dan, tags: trunk)
17:45
[6e0b04adb9] Add tests to ensure that the collation_needed destructor is invoked as required. (user: dan, tags: trunk)
2013-06-14
20:03
[577089fa36] Add a destructor function to the collation_needed() API. (user: dan, tags: trunk)
18:28
[cb28262fc8] Have sqlite4_authorizer_push() invoke any destructor passed to it if an error (i.e. a malloc failure) occurs. (user: dan, tags: trunk)
17:16
[bcf7a78f8b] Update create_collation() documentation. Have the create_collation() function invoke the destructor (if one was specified) before returning if it fails. (user: dan, tags: trunk)
2013-06-13
20:20
[7f314c9a71] Remove the encoding argument from sqlite4_create_collation(). Pass sqlite4_value objects to the collation sequence callbacks instead. (user: dan, tags: trunk)
16:32
[e5d82c92f0] Remove the no longer required FuncDestructor object. (user: dan, tags: trunk)
15:24
[f88d080127] Remove the 'encoding' argument from sqlite4_create_function(). (user: dan, tags: trunk)
2013-06-12
19:20
[9678daa99f] Add file selectF.test. (user: dan, tags: trunk)
2013-06-11
17:27
[5cd50e225c] Add a note to www/porting.wiki describing the changes to utf-16 support. (user: dan, tags: trunk)
16:48
[c7c533dddc] Remove legacy API functions: complete16(), errmsg16(), column_name16(), column_database_name16(), column_table_name16(), column_origin_name16(), column_decltype16(), create_function16() and collation_needed16(). (user: dan, tags: trunk)
15:18
[211c1baef7] Add tests and minor fixes for the sqlite4_translate() API. (user: dan, tags: trunk)
2013-06-10
19:52
[f56bc22c9e] Add the sqlite4_translate() API, for translating between utf-8 and utf-16 text encodings. Also the sqlite4_buffer object. (user: dan, tags: trunk)
2013-06-07
19:29
[596c1f3869] Allow collation sequence comparison functions to return errors. (user: dan, tags: trunk)
14:36
[22b6bdf65a] Change the order of the parameters passed to sqlite4_collation_needed() and needed16() to be consistent with other callback APIs. (user: dan, tags: trunk)
14:22
[6833c6df33] Remove the error message output parameter from sqlite4_exec(). (user: dan, tags: trunk)
02:00
[762134b4a8] Replace placeholder sqlite4_num_to_int32. Change API to be analogous sqlite4_num_to_int64. Add tests. (user: peterreid, tags: trunk)
00:51
[8cb787fa4a] Correct comments in header of num test (user: peterreid, tags: trunk)
00:49
[b667dab56b] Coverting an approximate sqlite4_num to int64 is flagged as lossy. (user: peterreid, tags: trunk)
2013-06-06
17:18
[c8d956ad1a] 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". (user: dan, tags: trunk)
16:43
[c39156d2b8] Add documentation for sqlite4_kvstore_methods.xGetMethod. Use the lsm pragmas in various tests instead of the file-controls. (user: dan, tags: trunk)
2013-06-05
20:25
[0e6201380c] Allow key-value stores to intercept pragma commands. (user: dan, tags: trunk)
2013-06-04
15:16
[424d39678b] Fix a few warnings relating to unused variables and functions. (user: dan, tags: trunk)
2013-06-03
19:25
[fa869b0982] Remove the use of type 'double' from date.c. (user: dan, tags: trunk)
15:23
[e8db1e81a4] Merge overflow and rounding fixes for sqlite4_num_to_int64(). (user: dan, tags: trunk)
11:47
[7b3bb63808] Modify the round() and abs() SQL functions to use decimal arithmetic. (user: dan, tags: trunk)
06:45
[a43972e1eb] Fix handling of text and blob values in the sum() function. (user: dan, tags: trunk)
2013-06-01
23:42
[de7fb192cb] Handle overflow and rounding cases in sqlite4_num_to_int64. (user: peterreid, tags: trunk)
23:35
[11fd3e7ec4] Add tests for sqlite4_num_to_int64. (user: peterreid, tags: trunk)
22:58
[3ae7214267] Fix build error from redundant typedefs in test_mem.c introduced by 75b8ccc0a8. (user: peterreid, tags: trunk)
20:34
[23ded9b859] Use decimal arithmetic in the sum(), total() and avg() functions. (user: dan, tags: trunk)
06:08
[5ab129f59e] Add missing file test_num.c. (user: dan, tags: trunk)
2013-05-31
19:57
[d1792cbf3c] Fix an issue in sqlite4_num_from_text() when parsing "inf" values. (user: dan, tags: trunk)
19:37
[7b0d1cf7f4] Merge sqlite4-num branch with trunk. (user: dan, tags: trunk)
19:34
[860695f9be] Leaf: Remove OP_Int64 and OP_Real. OP_Num is now used instead. (user: dan, tags: sqlite4-num)
19:19
[e018823162] Remove uses of type 'double' from the vdbe. (user: dan, tags: sqlite4-num)
17:13
[ae34cd8492] Use decimal arithmetic in affinity routines. (user: dan, tags: sqlite4-num)
2013-05-30
19:01
[9265ac66c8] Use the same code to encode keys for rowid indexes as regular indexes. (user: dan, tags: sqlite4-num)
18:26
[ba34125233] Change various things to use sqlite4_num instead of double. (user: dan, tags: sqlite4-num)
2013-05-29
18:52
[9cf2ab46f5] Further progress on this. src4.test is now passing again. (user: dan, tags: sqlite4-num)
2013-05-28
20:33
[b55b217f6a] Further progress on decimal arithmetic. (user: dan, tags: sqlite4-num)
2013-05-25
20:13
[f875ba1944] Further progress on using decimal arithmetic. (user: dan, tags: sqlite4-num)
16:41
[598f3f02f4] Fix some bugs in the code that uses sqlite4_num. (user: dan, tags: sqlite4-num)
2013-05-24
20:28
[d94f6e934e] Start using sqlite4_num to store numeric SQL values. This commit is more buggy than not. (user: dan, tags: sqlite4-num)
2013-05-23
09:39
[9199b1fa38] Changed TLIBS= to TLIBS?= to allow override from CLI. (user: stephan, tags: trunk)
2013-05-22
17:40
[3f1a52c793] Add simple OOM injection test to show that the sqlite4_mm based test infrastructure works. (user: dan, tags: trunk)
2013-05-21
20:08
[7091e990cd] Remove sqlite4_mem_methods from sqlite.h.in. Other modifications so that src4.test works again. (user: dan, tags: trunk)
18:19
[75b8ccc0a8] Re-enable memory statistics and backtraces. (user: dan, tags: trunk)
2013-05-18
19:42
[e3280f4585] Use the default sqlite4_mm object for malloc() and free(). (user: dan, tags: trunk)
2013-05-10
19:19
[79197d57b4] 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). (user: dan, tags: trunk)
18:42
[bbf3a54dcf] Change the sqlite4_exec() function to pass protected sqlite4_value objects to the callback instead of an array of nul-terminated strings. (user: dan, tags: trunk)
2013-05-09
19:47
[95275bb370] Add an "unsigned int flags" parameter to sqlite4_close(). Currently unused. (user: dan, tags: trunk)
19:12
[b7612a4adb] Add a destructor parameter to sqlite4_create_function() and create_function16(). Remove create_function_v2(). (user: dan, tags: trunk)
18:11
[51c6f56d73] 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. (user: dan, tags: trunk)
2013-05-08
17:24
[d1966c57fa] Modify sqlite4_column_text() and sqlite4_value_text() to return (const char *) instead of (const unsigned char *). (user: dan, tags: trunk)
14:37
[0263259ac4] Add tests for authorizer_push() and authorizer_pop(). (user: dan, tags: trunk)
2013-05-07
19:36
[555f0c788d] Replace sqlite4_set_authorizer() with sqlite4_authorizer_push() and sqlite4_authorizer_pop(). (user: dan, tags: trunk)
2013-04-29
17:48
[34281c89cf] Fix a problem with the binary-to-decimal mode of the "varint" command-line test tool. (user: drh, tags: trunk)
17:15
[21442d15d0] Bug fix in the varint.c encoder for values between 140737488355328 and 281474976710655. (user: drh, tags: trunk)
2013-03-28
19:41
[fde11ff78c] Add tests to sqltest. (user: dan, tags: trunk)
2013-03-09
19:48
[430404f854] Fix a bug in database initialization. (user: dan, tags: trunk)
19:04
[38ef349463] Fix further small issues in lsm_file.c. (user: dan, tags: trunk)
2013-03-08
20:47
[4418f901c9] Fix various issues in lsm_file.c. (user: dan, tags: trunk)
09:59
[02954a5b8d] 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. (user: dan, tags: trunk)
2013-03-07
20:12
[5f9133f8a8] Leaf: Fix some test cases to account for sqlite4 memory mapping the file. (user: dan, tags: prefix-mmap)
19:54
[84e9aca245] Fix a compressed database mode bug. (user: dan, tags: prefix-mmap)
18:36
[4d830d87e4] When recycling an lsm cursor, reset the flags field. (user: dan, tags: prefix-mmap)
2013-03-06
20:15
[abe0420724] Allow accessing a prefix of the database file using mmap and the remainder using read and write. (user: dan, tags: prefix-mmap)
2013-03-04
22:37
[7bf5b6c8d0] New autoconf/make apparatus. Usage:    ./autogen.sh ./configure make (user: owensmk, tags: trunk)
17:09
[03550f6b28] Merge xPutMeta and xGetMeta related changes from experimental branch. (user: dan, tags: trunk)
14:18
[35af051367] Leaf: Add dedicated get/set functions for the schema cookie to the sqlite4_kv_methods structure. (user: dan, tags: experimental)
10:24
[1f0129ac39] When in non-mmap mode, cache some page-data in memory. As sqlite does. (user: dan, tags: trunk)
2013-03-02
09:09
[e423d6c4bc] Remove a couple of unused variables from sqltest.c. (user: dan, tags: trunk)
2013-03-01
19:29
[74aa63bb48] Fix a problem with querying non-primary key indexes for blob values. (user: dan, tags: trunk)
19:06
[c9a4437853] Add sqltest.c. Containing tests used to compare the performance of different sqlite versions. (user: dan, tags: trunk)
2013-02-28
19:09
[64895935bc] Reuse existing lsm_cursor objects instead of always allocating new ones. (user: dan, tags: trunk)
15:56
[a02dacd5bd] Minor lsm optimizations. (user: dan, tags: trunk)
2013-02-26
17:35
[4ebadf909b] Remove a stray 'breakpoint' from lsm3.test. (user: dan, tags: trunk)
2013-02-25
18:44
[dae258f4ac] Fix a test case so that it avoids doing an == comparison between two imprecise floating point numbers. (user: drh, tags: trunk)
18:35
[1431be77de] Remove the obsolete and unused sqlite4_unlock_notify() interface. (user: drh, tags: trunk)
17:49
[22d65927b3] Fix a legacy test case that uses zeroblob(). (user: dan, tags: trunk)
17:18
[6b27bf4069] Various fixes for test cases. (user: dan, tags: trunk)
16:36
[3b2515079a] File Format Change Modify the key encoding so that final BLOBs are entered byte-for-byte with no terminator. (user: drh, tags: trunk)
2013-02-24
00:43
[4424d6f7b3] Enhancements to the sqlite4_mm implementation. Fix the amalgamation generator so that it works after the addition of sqlite4_mm. (user: drh, tags: trunk)
2013-02-23
18:36
[9e3d29f603] Fix a bug in the makefile that prevents the building of the amalgamation. (user: drh, tags: trunk)
17:39
[1e83e737e4] Factor out methods of sqlite4_env into a separate env.c source file. Add in the sqlite4_mm object. Remove deprecated interfaces. (user: drh, tags: trunk)
16:32
[c92e61312f] 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. (user: drh, tags: trunk)
14:16
[a4782fccbe] Add the "Programmers Introduction To SQLite4" document outlining the desired API for SQLite4. (user: drh, tags: trunk)
2013-02-22
20:23
[035df9b1de] Fix over-length source code lines in sqliteInt.h. (user: drh, tags: trunk)
2013-02-21
19:56
[ec9a805164] Add other notes to lsm.wiki. (user: dan, tags: trunk)
17:53
[3987cb831e] Add a summary of locks to lsm.wiki. (user: dan, tags: trunk)
2013-02-20
21:31
[88e0227355] Fix the query flattener to avoid an assert in TH4. (user: drh, tags: trunk)
19:36
[07a6f43d58] Fix a problem in USE_LOG=0 mode. (user: dan, tags: trunk)
18:41
[f63a20c194] Remove the zeroblob interfaces. (user: drh, tags: trunk)
18:06
[66fe3644fd] Merge read-only-clients branch with trunk. (user: dan, tags: trunk)
17:54
[723d5f2f52] Leaf: 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. (user: dan, tags: read-only-clients)
16:03
[3b2a50c089] 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. (user: dan, tags: read-only-clients)
2013-02-19
20:16
[3f53258219] Add a test case for a read-only transaction outlasting an entire read-write session. And a fix. (user: dan, tags: read-only-clients)
19:35
[08cc3604cf] Changes to allow read-only clients to safely work with live databases. (user: dan, tags: read-only-clients)
2013-02-18
19:46
[45e4472618] Add support for read-only clients reading from dormant databases using the checkpointer lock. (user: dan, tags: read-only-clients)
2013-02-17
14:19
[29390891c5] Merge trunk changes into this branch. (user: dan, tags: read-only-clients)
2013-02-16
02:41
[e9ec757186] Fix an unsafe VM register deallocation. (user: drh, tags: trunk)
2013-02-15
22:20
[25e27cdc60] Fix a bug in the IN processing in WHERE clauses. (user: drh, tags: trunk)
22:08
[4487c8c57e] Add the "PRAGMA vdbe_addoptrace" pragma for debugging. (user: drh, tags: trunk)
19:20
[6453240a0f] Fix a crash bug found by TH4. (user: drh, tags: trunk)
2013-02-14
15:32
[8ede88c1df] Fold in Peter Reid's fixes and enhancements to the sqlite4_num object. (user: drh, tags: trunk)
01:51
[3cac6cdb86] Leaf: Fix sqlite4_num_to_text when formatting an integer with a negative exponent. It was leaving an uninitialized byte in the destination string. (user: peterreid, tags: num_work)
2013-02-13
12:28
[56335097b1] 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. (user: drh, tags: trunk)
2013-02-11
18:33
[c04b47fd62] Fix the data decoder so that it correctly handles +Inf and -Inf. (user: drh, tags: trunk)
16:04
[9b03a19a30] Fix a memory leak in DETACH. (user: drh, tags: trunk)
15:51
[108d62cab9] Fix a memory leak in the test harness. (user: drh, tags: trunk)
15:17
[eec75c074c] Remove two MySQL-isms: Strings in double-quotes and identifiers quoted by grave accents. (user: drh, tags: trunk)
14:03
[58a9cfcb39] Add test fixture functions for sqlite4_num_isinf and sqlite4_num_isnan, and some related test cases. (user: peterreid, tags: num_work)
04:09
[13d342510f] Num comparison says that +0 = -0. Before, 1-1 > (-1)-(-1). (user: peterreid, tags: num_work)
2013-02-10
22:03
[91bfc9e7d7] Add sqlite4_num_add/sub/mul/div to testfixture and some tests that use them. (user: peterreid, tags: num_work)
19:21
[24ee36b76f] Fix defect in which sqlite4_num_from_text returns NaN if it uses exactly as many bytes as the caller allows. (user: peterreid, tags: num_work)
04:26
[2cff3b428a] 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 (user: peterreid, tags: num_work)
04:06
[6cc07d19e4] Add a few sqlite4_num tests. (user: peterreid, tags: num_work)
2013-02-09
19:42
[69f33cfa12] Add definitions for the extra locks required for read-only clients to detect whether or not a database is live. (user: dan, tags: read-only-clients)
16:55
[798d9e23be] 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. (user: dan, tags: trunk)
05:36
[555cdfbf52] Create sqlite4_num_isinf (user: peterreid, tags: num_work)
05:35
[97728c04e8] Fix sqlite4_num_from_text in 0.000(many zeros)00123 case. (user: peterreid, tags: num_work)
05:33
[b320c13e42] Make sqlite4_num's exponent signed. (user: peterreid, tags: num_work)
05:32
[2552bc97ef] Create sqlite4_num_from_int64. (user: peterreid, tags: num_work)
05:31
[408475b607] Prevent reading out of bounds in sqlite4_num_from_text. Parsing 'in' (prefix of 'inf') with byte count 2 triggered the bug. (user: peterreid, tags: num_work)
05:29
[cc1dc90b47] Create sqlite4_num_isnan. (user: peterreid, tags: num_work)
05:27
[9ff6991d9f] Make LARGEST_UINT64 unsigned. This was causing adjustExponent to fail when compiled with msvc. (user: peterreid, tags: num_work)
2013-02-08
15:22
[9afc42d70d] Avoid extending the database file when truncating it to the minimum number of blocks required during system shutdown. (user: dan, tags: trunk)
14:39
[302b222395] 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. (user: dan, tags: trunk)
11:30
[76297939d3] Merge compression-id branch with trunk. (user: dan, tags: trunk)
2013-02-07
19:50
[bb85de9cd3] Leaf: Add the INFO_COMPRESSION_ID request. And the factory method for providing compression/encryption functions. (user: dan, tags: compression-id)
2013-02-06
19:43
[60908fd4d1] Add API to register a compression-factory method with an lsm handle. (user: dan, tags: compression-id)
19:03
[3bf1db9709] Add a field to the database header to identify the compression scheme in use. (user: dan, tags: compression-id)
11:58
[7cc153f523] Fix bug to do with block redirection. (user: dan, tags: trunk)
2013-02-05
18:32
[89e314d98b] Fix lsm_checkpoint() and some lsm_info() calls to match documented behaviour. (user: dan, tags: trunk)
18:06
[2f8966cd9c] 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". (user: dan, tags: trunk)
16:03
[340c9dcd22] Change the BLOCK_SIZE, AUTOFLUSH and AUTOCHECKPOINT lsm_config() options to work in KB instead of bytes. This matches the user guide. (user: dan, tags: trunk)
09:52
[5dfd8651df] Add test file lsm3.test, which should have been added a few days ago. (user: dan, tags: trunk)
2013-02-02
16:45
[d6bd08ca0e] Fix LSM single-process mode so that it holds an exclusive lock on the database file - preventing connections from within external processes. (user: dan, tags: trunk)
2013-02-01
19:49
[33eca2e1f4] Simplifications and clarifications to lsmusr.wiki. (user: dan, tags: trunk)
2013-01-31
05:58
[d966049dd6] Add the definition of sqlite4_stricmp() to sqlite.h.in. Avoid multiple declarations the u8 and similar typedefs in the amalgmation. (user: drh, tags: trunk)
05:36
[b6d0a62048] Change all occurrences of sqlite4StrICmp to sqlite4_stricmp and change sqlite4StrNICmp to sqlite4_strnicmp. (user: drh, tags: trunk)
05:27
[19e9278b9c] Publish routines sqlite4_stricmp() and sqlite4_strnicmp() that do simple unicode case folding. Use these routines for all internal case-insensitive string comparisons. (user: drh, tags: trunk)
2013-01-28
08:56
[647229e983] Merge block-redirects branch with trunk. This changes the lsm file format. (user: dan, tags: trunk)
2013-01-26
20:18
[520f3729b8] Leaf: Handle calls to lsm_work() with the nPage parameter set to not greater than zero. Remove some dead code. (user: dan, tags: block-redirects)
19:17
[930b7e4507] Fix problems with redirected blocks in compressed databases. (user: dan, tags: block-redirects)
17:24
[259878e357] Remove an inaccurate assert() from lsm_sorted.c. (user: dan, tags: block-redirects)
16:44
[ca4dc40190] 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. (user: dan, tags: block-redirects)
2013-01-25
21:23
[98d35b06cd] 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. (user: drh, tags: trunk)
20:46
[96badcb933] Fix a problem in the range-delete code. (user: dan, tags: block-redirects)
2013-01-24
18:24
[11b2bf1628] Fix a string type compile warning. (user: stephan, tags: trunk)
16:45
[e5edba9caa] 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). (user: dan, tags: block-redirects)
2013-01-23
18:13
[a89abc2117] 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. (user: dan, tags: block-redirects)
2013-01-22
20:07
[a56a334333] Several block-redirect related bugfixes. (user: dan, tags: block-redirects)
2013-01-21
19:50
[eec16b0f2f] Add tests for block-redirects to lsmtest. (user: dan, tags: block-redirects)
16:53
[89b4286682] 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. (user: dan, tags: block-redirects)
14:23
[deb0ccacd4] Fix LSM_INFO_PAGE_DUMP so that it works with redirected blocks. (user: dan, tags: block-redirects)
10:02
[73976dbcbe] Fix some bugs surrounding block redirects. (user: dan, tags: block-redirects)
2013-01-20
02:52
[eccdf70b22] Fix typos in the VARINT documentation. (user: drh, tags: trunk)
02:38
[b1ae0ca8c3] Fix a typo on the key-encoding documentation. (user: drh, tags: trunk)
00:07
[5442b20bf6] Enable the AUTOINCREMENT feature. (user: drh, tags: trunk)
2013-01-19
20:07
[09251cee6a] 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. (user: dan, tags: block-redirects)
19:49
[4d1b506594] 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. (user: drh, tags: trunk)
16:14
[697ee9faad] 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. (user: drh, tags: trunk)
02:38
[3025370e1f] Change the hexadecimal digits generated by the hex() and quote() functions to lower-case. (user: drh, tags: trunk)
02:16
[32de931aa1] Fix for queries that use and inequality on ROWID in the WHERE clause. (user: drh, tags: trunk)
2013-01-18
23:15
[4ea88c4882] Add support for multiple VALUES in a single INSERT statement. (user: drh, tags: trunk)
20:43
[51b9711376] Remove obsolete shell test scripts from the tool/ subdirectory. (user: drh, tags: trunk)
20:28
[918553d16e] Bring the command-line shell up-to-date with recent changes in SQLite3. Add test cases for the command-line shell. (user: drh, tags: trunk)
15:58
[33cc91541c] Display the 'age' of each level in lsmview. (user: dan, tags: trunk)
10:46
[dc4fa92596] Truncate the database file when the number of connections drops from one to zero. (user: dan, tags: trunk)
2013-01-17
19:13
[2ff461b422] Fix an lsm bug causing it to choose the wrong block to reuse. (user: dan, tags: trunk)
12:22
[2351f01937] Truncate away any free blocks at the end of the database file when the system is shutdown (last connection disconnects). (user: dan, tags: trunk)
2013-01-15
17:39
[ace47a5829] Fix a typo in lsmusr.wiki. (user: dan, tags: trunk)
2013-01-14
17:05
[739cd82fca] Fix problems with the matchinfo functions used by the bm25(f) implementation. (user: dan, tags: trunk)
2013-01-13
05:30
[278cfaeb70] Avoid using keyword "near" as a variable name in fts5.c. (user: dan, tags: trunk)
2013-01-12
15:50
[e21b7b67b5] Many fts5 related fixes. (user: dan, tags: trunk)
15:13
[0078080de5] Get the amalgamation build working again. (user: drh, tags: trunk)
2013-01-09
18:15
[dbbce4e438] Merge matchinfo branch with trunk. (user: dan, tags: trunk)
18:09
[201233ee64] Leaf: Fix a few compiler warnings and test failures. (user: dan, tags: matchinfo)
17:16
[0d5a640f1f] Fixes for snippet function and tests. Add API to determine the number of tokens in an FTS query phrase. (user: dan, tags: matchinfo)
2013-01-08
20:35
[a257d81d4b] Add tests and many fixes for snippet implementation. Some tests are still failing. (user: dan, tags: matchinfo)
11:45
[e7b52edf68] 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. (user: dan, tags: matchinfo)
2013-01-07
19:52
[8d94102cd3] Add an implementation of snippet() and its associated mi apis to fts5. (user: dan, tags: matchinfo)
2013-01-04
18:37
[f3ac136843] 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. (user: dan, tags: matchinfo)
2013-01-03
20:35
[7cfa40b5c1] Add comment describing format of row and global size records. (user: dan, tags: matchinfo)
18:13
[0e439483d7] Fill in more of the matchinfo functions so that the BM25 function works. (user: dan, tags: matchinfo)
2013-01-02
20:01
[03f26d8c60] Add an implementation of BM25 to fts5func.c. Other changes to matchinfo related things. (user: dan, tags: matchinfo)
2013-01-01
19:56
[a235305d42] Add APIs to allow fts5 to be augmented with ranking and snippet functions. Does not work yet. (user: dan, tags: matchinfo)
19:55
[69b21857ca] Remove obsolete memory pool allocators from LSM. (user: drh, tags: trunk)
19:02
[a2630e5d90] 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. (user: drh, tags: trunk)
18:41
[7bc0e58875] Fix a memory leak in fts5.c. (user: dan, tags: trunk)
18:24
[e9efc61a51] 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. (user: drh, tags: trunk)
10:24
[bc0f61fc3b] Fix a problem that occurs with transactions that use more than 32MB of shared memory. (user: dan, tags: trunk)
09:07
[d9a06d9403] Avoid leaking shared-memory pages when rolling back a large transaction. (user: dan, tags: trunk)
2012-12-30
12:03
[069e299d06] Add support for the "columnname : phrase" syntax to fts5. (user: dan, tags: trunk)
11:45
[dd018f834a] Add support for prefix queries to fts5. Still no support for prefix indexes, just prefix queries using the regular term index. (user: dan, tags: trunk)
2012-12-29
15:16
[29d07b13f0] Add fts5rnd1.test, a modified version of fts3rnd.test that works with fts5. (user: dan, tags: trunk)
09:56
[c2efd983b0] Add support for the AND, OR and NOT operators to fts5. (user: dan, tags: trunk)
2012-12-28
20:01
[ed403fecf2] Add support for NEAR queries to fts5. (user: dan, tags: trunk)
18:57
[0780ef9305] Add support for phrase queries to fts5. (user: dan, tags: trunk)
2012-12-27
18:01
[fb07003744] Fill in some functions so that a tiny subset of fts5 queries work. (user: dan, tags: trunk)
2012-12-26
19:40
[58a5617da3] Modify where.c and so on to handle fts scans. Opcodes do not work yet. (user: dan, tags: trunk)
2012-12-24
15:32
[8161b13910] Fixes for updates and deletes on tables with fts5 indexes. (user: dan, tags: trunk)
2012-12-22
19:59
[4693eb7bcc] More work on updating an fts5 index. Add a pragma that checks if the index and table contents match. (user: dan, tags: trunk)
2012-12-21
19:58
[49eff5d82d] Add update function to fts5.c. (user: dan, tags: trunk)
2012-12-20
18:41
[e0748900db] Add "tokenizer=xxx" syntax to fts5. (user: dan, tags: trunk)
2012-12-19
20:01
[8ac71062f5] Add the "CREATE INDEX idx ON tbl USING nm(...)" syntax. (user: dan, tags: trunk)
2012-12-18
15:47
[b1a2a17679] Add support for NEAR to the fts expression parser. (user: dan, tags: trunk)
2012-12-17
20:18
[c472cae982] Add a test for the "colname:phrase" syntax to fts5expr1.test. (user: dan, tags: trunk)
19:36
[bd4efbb2f7] Add new files fts5.c and fts5func.c. (user: dan, tags: trunk)
2012-12-03
20:19
[5181638475] Add support for testing against mdb. (user: dan, tags: trunk)
14:22
[6de140a17f] Add lsmperf.wiki to the links on index.wiki. (user: dan, tags: trunk)
13:41
[938bb92e37] Add www/lsmperf.wiki. (user: dan, tags: trunk)
2012-11-30
19:00
[7ead7175e2] 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. (user: dan, tags: trunk)
2012-11-29
19:14
[d4c5a3bad7] Avoid reading and checksumming an entire meta-page every time a write transaction is opened. (user: dan, tags: trunk)
18:25
[88205b2bc6] Allow freelist-only age=1 segments to be written even if there are already NMERGE age=1 segments. (user: dan, tags: trunk)
09:48
[a9f8129cce] In mmap-mode, ensure a checkpointer has the entire database file mapped before calling msync(). (user: dan, tags: trunk)
2012-11-28
19:39
[f43bee2c1b] Further updates to multi-threaded tests. (user: dan, tags: trunk)
14:54
[21db5f73f5] Fix an mmap mode bug. Improve upon multi-threaded setups in lsmtest_tdb3.c. (user: dan, tags: trunk)
2012-11-23
16:41
[b55b092602] Fix a problem in compressed database mode causing pages to be incorrectly marked as dirty. (user: dan, tags: trunk)
2012-11-22
16:14
[f58fb32e42] Fix some "unsafe" pointer casts in lsm_config(). (user: dan, tags: trunk)
2012-11-17
13:17
[1b21fb4494] Fix another out-of-order writes problem. (user: dan, tags: trunk)
10:51
[ee694a32e4] Avoid writing pages to disk out of sequential order (one problem still remains). (user: dan, tags: trunk)
2012-11-15
18:45
[8915d39dab] Update the lsm code so that it matches lsmusr.wiki. (user: dan, tags: trunk)
14:19
[2077c9d152] Add words to lsmusr.wiki. (user: dan, tags: trunk)
2012-11-14
20:09
[1ea9187820] Updates to lsmusr.wiki. (user: dan, tags: trunk)
18:23
[e47b5e3ae6] Improvements to lsmusr.wiki. (user: dan, tags: trunk)
2012-11-13
20:16
[414ed6da4e] Further documentation updates. (user: dan, tags: trunk)
18:44
[2377f4f991] Add lsmapi.wiki. And the script that generates it from lsm.h - tool/mklsmapi.tcl. (user: dan, tags: trunk)
14:03
[71b26d318d] Add table of contents to lsmusr.wiki. (user: dan, tags: trunk)
2012-11-12
20:19
[3904797435] Fix small issues in lsmusr.wiki. (user: dan, tags: trunk)
19:41
[f7ef6cec1f] Updates to lsmusr.wiki. (user: dan, tags: trunk)
2012-11-09
20:14
[9d39c3a354] Minor changes to lsmusr.wiki. Add the lsm_csr_cmp() function. (user: dan, tags: trunk)
2012-11-08
21:30
[c50bcdc37d] Add lsmusr.wiki. User documentation for lsm. (user: dan, tags: trunk)
11:59
[48bd83a17a] Set a flag on levels that consist entirely of freelist entries. Use this flag to avoid counter-productive merges during database optimization. (user: dan, tags: trunk)
2012-11-07
20:08
[91912a39ca] Remove the LSM_WORK_OPTIMIZE flag. Add free-list management related tests and fixes. (user: dan, tags: trunk)
2012-11-06
19:14
[7268cf7535] Fix lsmview.tcl so that it can view databases compressed with zlib. (user: dan, tags: trunk)
11:49
[579ee866b7] Fix block pointer related bug introduced by the previous commit. (user: dan, tags: trunk)
11:23
[c93bae9496] Change the format of uncompressed databases so that the prev/next pointers at the end of blocks are the same as for compressed databases. (user: dan, tags: trunk)
2012-11-05
16:41
[dba97f861c] Remove the unused LSM_WORK_FLUSH flags. (user: dan, tags: trunk)
14:56
[7605250294] Merge range-delete-fixes branch with trunk. (user: dan, tags: trunk)
14:33
[3ba1c3f589] Leaf: 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. (user: dan, tags: range-delete-fixes)
10:23
[e6a71a8583] 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. (user: dan, tags: range-delete-fixes)
2012-11-03
19:51
[b3b4c58d9a] Fix a problem in writing free-list entries to the LSM. (user: dan, tags: range-delete-fixes)
19:06
[752517c1cf] Various fixes and tests for range-deletes. (user: dan, tags: range-delete-fixes)
2012-11-02
20:13
[9374c3a283] 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. (user: dan, tags: range-delete-fixes)
2012-11-01
15:16
[9d8943da66] Fix a bug preventing a modified snapshot of a "full" database from being written to shared-memory. (user: dan, tags: trunk)
05:00
[41bf1ae58d] Re-enable incremental recycling of blocks belonging to segments for which the b-tree hierarchy is still in use. (user: dan, tags: trunk)
2012-10-31
19:30
[58f0d07a23] Merge the freelist-rework branch with the trunk. (user: dan, tags: trunk)
19:27
[503f49b0cc] Leaf: Fix a crash in the check-blocks assert that may occur following an OOM condition. (user: dan, tags: freelist-rework)
18:46
[f512ea3c4d] Remove dead code. Fix a read-lock related problem causing the multi-threaded tests to fail. (user: dan, tags: freelist-rework)
16:37
[6bf6b00b8b] Fix a compressed mode bug unrelated to the free block list. (user: dan, tags: freelist-rework)
11:15
[1ac4435e5c] Improve the complex assert() used to check that database file blocks are not leaked or over-allocated. (user: dan, tags: freelist-rework)
09:25
[7b5a26996f] Prevent auto-work from recycling blocks before the connection doing the auto-work has finished using them. (user: dan, tags: freelist-rework)
2012-10-30
18:46
[a8acce6c87] Another free-list related fix. (user: dan, tags: freelist-rework)
17:34
[803f36b62f] Avoid writing completely empty segments to the snapshot. (user: dan, tags: freelist-rework)
17:19
[f9e75777b0] Fix another free block list related bug. (user: dan, tags: freelist-rework)
16:27
[5c3e17cc90] Fix a couple of problems in the code that handles free block lists. (user: dan, tags: freelist-rework)
2012-10-29
20:04
[ebca1063ac] Rework the free block list storage so that it scales properly. Currently some test cases fail. (user: dan, tags: freelist-rework)
09:19
[90f46bd082] Fix a couple of crashes and a memory leak in OOM tests. (user: dan, tags: trunk)
2012-10-28
11:38
[a701b281e9] Merge compression-hooks branch with trunk. (user: dan, tags: trunk)
11:34
[676da8516d] Leaf: Turn off LSM_CONFIG_MMAP automatically in compressed database mode. (user: dan, tags: compression-hooks)
11:28
[2ba0368e76] Enhance the file-format to allow padding records smaller than 6 bytes in length. (user: dan, tags: compression-hooks)
10:07
[ae3c8da44d] Add padding records to segments in compressed databases in order to avoid partial writes to segments that have already been synced to disk. (user: dan, tags: compression-hooks)
2012-10-27
08:57
[0b940bfe17] Change the format of compressed page records slightly so that the file format supports inserting padding records into sorted runs. (user: dan, tags: compression-hooks)
2012-10-26
18:08
[6e7bc9099c] Enable assert() checking for lost blocks in compressed database mode. (user: dan, tags: compression-hooks)
17:09
[8ce567e8be] Fix a problem with snapshot initialization. (user: dan, tags: compression-hooks)
16:42
[53de55a6f4] Store page numbers in database snapshots as 64-bit integers. (user: dan, tags: compression-hooks)
2012-10-25
11:08
[549868a020] 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. (user: dan, tags: compression-hooks)
2012-10-24
19:54
[8670182769] Have lsmtest use zlib for compression if HAVE_ZLIB is defined. This causes at least one test to fail. (user: dan, tags: compression-hooks)
18:33
[083e3a6c0f] Fix memory leaks in compressed database mode. (user: dan, tags: compression-hooks)
18:26
[728d8cf5ae] Various fixes. (user: dan, tags: compression-hooks)
2012-10-23
19:54
[90c2fae338] Fixes for compressed database mode. Some test cases pass. Many do not. (user: dan, tags: compression-hooks)
2012-10-22
20:05
[3c45b911fe] Add some code to support compressed databases to lsm_file.c. Does not currently work. (user: dan, tags: compression-hooks)
2012-10-20
15:57
[db2407a7af] Change lsm_sorted.c so that it does not use the Segment.iLastPg variable directly. This variables meaning is slightly different for compressed databases. (user: dan, tags: compression-hooks)
13:13
[7d290a04e8] 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. (user: drh, tags: trunk)
13:01
[b81bc323b9] Change the "TK_" macro prefix in lsm_tree.c to "TKV_" in order to avoid name collisions with "TK_" macros generated by the parser. (user: drh, tags: trunk)
12:57
[8132a601e8] Change the name of "storage.h" to "kv.h". Other minor edits to comments and typedefs. (user: drh, tags: trunk)
2012-10-19
16:39
[d618b9b106] Remove obsolete content from sqliteInt.h. (user: drh, tags: trunk)
16:16
[c03eeda99f] Further changes to ensure that a pages page number is not required until after its content has been assembled. (user: dan, tags: compression-hooks)
11:25
[d54af93981] Changes to support building b-trees without using the page numbers of unfinished pages. (user: dan, tags: compression-hooks)
2012-10-18
07:43
[4ff1be367e] Fix another memory leak in lsm_tree.c. (user: dan, tags: trunk)
2012-10-17
19:35
[6e6b3a8a8b] Fix a memory leak in lsm_work(). (user: dan, tags: trunk)
19:29
[ae7d9c68ef] Fix various issues with tcl test cases. (user: dan, tags: trunk)
11:31
[29bd2611a6] 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. (user: dan, tags: compression-hooks)
2012-10-16
15:26
[5d266a717d] 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. (user: dan, tags: compression-hooks)
2012-10-15
19:36
[a7de625f13] Merge range-delete branch back into trunk. (user: dan, tags: trunk)
19:34
[80abdbea2d] Leaf: Fix a case in live-recovery from a writer crash. (user: dan, tags: range-delete)
16:42
[8a713f17fc] Fix an assert() that can fail following an OOM condition. (user: dan, tags: range-delete)
16:06
[3112bb2e6d] Fix minor problems in OOM tests. (user: dan, tags: range-delete)
15:51
[3cb77a8512] Fix a crash that can follow an OOM error. And an error in lsm_csr_seek(LEFAST). (user: dan, tags: range-delete)
14:26
[c025a26642] Fix a problem with lsm_mt2 in lsmtest_tdb3.c. (user: dan, tags: range-delete)
2012-10-14
09:41
[d30de7f821] Range-delete related SEEK_GE and SEEK_LE fixes. (user: dan, tags: range-delete)
2012-10-11
19:36
[45d5b7570e] 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. (user: dan, tags: range-delete)
2012-10-10
18:10
[1ff4639070] Fixes for range-delete and seek operations. (user: dan, tags: range-delete)
2012-10-09
19:55
[9081b1c92c] Fix further bugs in in-memory tree. Progress on writing range-deletes into the database file. (user: dan, tags: range-delete)
2012-10-08
17:08
[9879e2a63d] Fixes for range-deletes on the in-memory tree structure. (user: dan, tags: range-delete)
2012-10-06
20:38
[178f7d5eca] Add tests for range-deletes. Fix some things. Still doesn't work properly. (user: dan, tags: range-delete)
2012-10-03
20:05
[daa6942834] Add (partially working) code for deleting keys to lsm_tree.c. Required for range-deletes. (user: dan, tags: range-delete)
09:24
[45e59053e7] Minor changes to the lsmperf.tcl script. (user: dan, tags: trunk)
2012-10-02
18:06
[63d8eea506] Simplify the way new cursors are created. (user: dan, tags: trunk)
12:05
[b84772a1aa] Remove dead code from lsm_sorted.c. (user: dan, tags: trunk)
05:19
[ff71b6f778] Remove a layer of abstraction from the cursor object in lsm_sorted.c. (user: dan, tags: trunk)
2012-09-28
18:35
[fc4601f91f] Allow deserialized snapshots to persist between transactions. (user: dan, tags: trunk)
14:57
[371c6c984d] Improvements to lsmperf.tcl test. (user: dan, tags: trunk)
2012-09-27
20:04
[eb4ae342c5] Mark blocks as free more aggressively. (user: dan, tags: trunk)
16:09
[3d1dacff87] Fix to ensure that the log file is always deleted following a successful system shutdown. (user: dan, tags: trunk)
04:59
[e16b04ca69] Fix a deadlock in multi-threaded test code. (user: dan, tags: trunk)
2012-09-26
15:38
[cf2ef747ad] Merge rework-flow-control branch with trunk. (user: dan, tags: trunk)
15:23
[0a45bfc7a4] Leaf: Fix invocation of work-hook following an lsmTreeMakeOld() call. (user: dan, tags: rework-flow-control)
14:07
[797f6c5578] Fix a broken assert() statement. (user: dan, tags: rework-flow-control)
11:57
[57444405e3] Fix a problem in free-list management. (user: dan, tags: rework-flow-control)
2012-09-25
19:13
[156b93d03b] Fix bug in recycling of shared memory space. (user: dan, tags: rework-flow-control)
18:27
[7eee90a0aa] Fix a problem causing read-locks to fail with LSM_BUSY. (user: dan, tags: rework-flow-control)
17:25
[1743941409] Fix a race condition causing LSM to read inconsistent in-memory and on-disk databases. (user: dan, tags: rework-flow-control)
14:50
[be1e513090] Fix a mmap-mode bug. (user: dan, tags: rework-flow-control)
2012-09-24
17:18
[b9f122f4e3] Fix a problem preventing log file space from being reclaimed. (user: dan, tags: rework-flow-control)
16:04
[99b59dacbd] Fix further bugs. (user: dan, tags: rework-flow-control)
10:55
[1cd7d6ca93] Fix problems introduced in the previous checkin. (user: dan, tags: rework-flow-control)
2012-09-22
19:38
[50f8b55823] Rework flow control some (flow control = slowing down clients when worker threads or processes cannot keep up). (user: dan, tags: rework-flow-control)
2012-09-20
19:33
[5062ffb017] Add lsm_tree_size() and lsm_ckpt_size(). (user: dan, tags: trunk)
2012-09-18
19:39
[1e661d0bad] Avoid malloc calls in lsm_file.c when running in mmap mode. Also avoid many mutex operations when accessing the in-memory tree. (user: dan, tags: trunk)
15:48
[93d9ff7c12] Fix a bug preventing block recycling in multi-threaded tests. (user: dan, tags: trunk)
2012-09-17
20:41
[6c686c6d1a] Make it possible to flush part of the in-memory tree to disk without blocking writer clients. (user: dan, tags: trunk)
2012-09-15
17:03
[108a6143bf] Improve performance testing script lsmperf.tcl. (user: dan, tags: trunk)
2012-09-14
19:59
[d9e0ad7566] Improve speed test commands in lsmtest. Add script lsmperf.tcl to use these to generate gnuplot files. (user: dan, tags: trunk)
2012-09-13
18:13
[4ea78ff1f3] Add tests for dealing with inconsistent tree-headers in shared-memory. (user: dan, tags: trunk)
15:24
[bb42813797] Add lsmtest tests that focus on recovering from the failure of a writer process. And fixes for the same. (user: dan, tags: trunk)
2012-09-12
17:23
[6e5e429ea7] Fix a problem in the lsm_info(LOG_STRUCTURE) command causing errors in tcl tests. (user: dan, tags: trunk)
16:19
[0427b07c14] Change the way worker clients keep snapshots consistent so as to match the description in lsm.wiki. (user: dan, tags: trunk)
14:47
[d65a5112b6] Fix an assert() failure that can follow an OOM error. (user: dan, tags: trunk)
14:19
[d52cc59da3] Add code for emergency rollback of the shared-memory tree. (user: dan, tags: trunk)
2012-09-11
18:57
[6f9c692a0e] Fix a problem preventing shared-memory space from being reused. (user: dan, tags: trunk)
18:48
[f8ce14403f] 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. (user: dan, tags: trunk)
17:44
[19f6896763] Add lsm_env.xSleep() method. Fix shared-memory locks so that they work as described in lsm.wiki. (user: dan, tags: trunk)
11:47
[bf4758ab15] Fix a memory leak in lsm_unix.c. (user: dan, tags: trunk)
2012-09-10
20:07
[acf38e32c8] Change locks to use 32-bit shm-sequence-ids instead of 64-bit tree-ids. (user: dan, tags: trunk)
18:39
[e12aa10a7c] Change the way version races between the in-memory tree and lsm are handled in lsm.wiki. (user: dan, tags: trunk)
15:08
[011519e33f] Retire shm.wiki. Its contents are now in lsm.wiki. (user: dan, tags: trunk)
14:45
[cde7d1dcb0] Updates to lsm.wiki. (user: dan, tags: trunk)
2012-09-08
20:08
[9a239a8516] Add lsm.wiki. (user: dan, tags: trunk)
2012-09-05
19:10
[3674a5075c] Add more simple inter-process locking tests. (user: dan, tags: trunk)
18:52
[e50e06e52c] Fix a bug in the lsm_unix.c xLock method. (user: dan, tags: trunk)
17:15
[0ed91ba599] Fix a problem in test script misuse.test. (user: dan, tags: trunk)
16:18
[9350457414] When possible, reuse file-descriptors from the deferred-close list instead of opening new ones. (user: dan, tags: trunk)
11:38
[132d76341e] Fix some test script bugs in src4.test. (user: dan, tags: trunk)
11:23
[ecae27d73a] Merge in multi-process branch. (user: dan, tags: trunk)
10:32
[8d149a52d3] Leaf: Fix a bug in intra-process connection locking. Turn on multi-process mode by default. (user: dan, tags: multi-process)
2012-09-04
20:17
[3d0cf4bb36] Defer closing file descriptors until all fcntl() locks have been dropped. (user: dan, tags: multi-process)
19:42
[d37b353a55] Add real inter-process locks and shared memory in place of the stubs. Currently requires activation using LSM_CONFIG_MULTIPLE_PROCESSES. (user: dan, tags: multi-process)
2012-09-03
19:26
[75de95787f] Fix a bug occuring when the last connection to disconnect from a database is not also the last to write to it. (user: dan, tags: multi-process)
17:57
[e97d02f068] Add a missing unlock(WRITER) call to lsmCheckpointWrite(). (user: dan, tags: multi-process)
14:50
[1a86aa1c6b] Fix a problem with growing the database file in mmap mode. (user: dan, tags: multi-process)
11:34
[6ced48df30] Fix a race condition between flushing an in-memory tree to disk and opening a read-transaction. (user: dan, tags: multi-process)
2012-09-02
09:25
[dd2489a645] Fix a crash in multi-threaded tests that can occur if a call to lsm_open() fails. (user: dan, tags: multi-process)
2012-09-01
16:39
[c2f247c372] Fix a problem allowing shared memory to be recycled too early. (user: dan, tags: multi-process)
12:04
[0f28f8317b] 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. (user: dan, tags: multi-process)
11:09
[4a2be461c1] 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. (user: dan, tags: multi-process)
09:11
[3423d37092] Fix a bug in the test used to determine if a free block is ready for reuse. (user: dan, tags: multi-process)
2012-08-31
20:26
[5f9bb542f7] Avoid reusing a block before it is guaranteed that it is not required even if a crash occurs. (user: dan, tags: multi-process)
18:43
[5f4708d2e9] Add DMS "lock". (user: dan, tags: multi-process)
2012-08-30
20:01
[d6c6889249] Remove dead code. Run "lomem" tests with max-freelist set to 4. (user: dan, tags: multi-process)
18:01
[3e1ecb95c9] Fix memory leaks. Add the LSM_CONFIG_MAX_FREELIST parameter to make testing free-list overflow easier. (user: dan, tags: multi-process)
2012-08-29
19:45
[dc91e55841] Fix some of the problems with very large free-block lists. (user: dan, tags: multi-process)
2012-08-28
19:06
[77b1401c13] Limit the number of levels that may exist within the database file. (user: dan, tags: multi-process)
16:50
[57b62e32f6] Fix an OOB read caused by an implicit UNIQUE index on the same columns as the primary key of a table. (user: dan, tags: multi-process)
2012-08-25
20:24
[11ac1783f7] Fix a memory leak in lsm_tree.c. (user: dan, tags: multi-process)
20:05
[bfa27bab8a] Fix other problems revealed by src4.test. (user: dan, tags: multi-process)
19:17
[511a91e121] Fix another bug to do with large key-value pairs. (user: dan, tags: multi-process)
19:04
[27ef4e84c1] Fix a problem in lsm_write() occuring if the same pointer is passed as both key and value. (user: dan, tags: multi-process)
18:51
[e229e3e35f] Fix a problem with large key/value pairs. (user: dan, tags: multi-process)
17:06
[994cbb20bb] Remove the 32KB limit on the size of key/data pairs. (user: dan, tags: multi-process)
2012-08-22
11:35
[1cae60359e] Fix a broken locking-related assert() statement. (user: dan, tags: multi-process)
10:56
[449de9f2d6] Remove some dead code from lsm_ckpt.c. Have auto-work connections write checkpoints into the database file periodically. (user: dan, tags: multi-process)
2012-08-21
19:04
[5ac48d34f9] Prevent a worker connection from recycling a block that it still in use. (user: dan, tags: multi-process)
13:36
[e76531feab] Fix a bug with saving a b-tree cursor position located on the right-most leaf page of a b-tree. (user: dan, tags: multi-process)
2012-08-20
20:12
[63151e96d1] Try to fix log-wrapping and other problems. (user: dan, tags: multi-process)
2012-08-17
15:10
[49effcc85e] Fix a memory leak. (user: dan, tags: multi-process)
14:56
[4f3dc549a9] Re-enable the log file. (user: dan, tags: multi-process)
2012-08-16
15:09
[36c4a52f46] Fix a bunch of OOM an API tests failing on this branch. (user: dan, tags: multi-process)
2012-08-06
11:55
[ff49753d4b] Fix a problem with preventing auto-work from taking place. Remove dead code from lsm_shared.c. (user: dan, tags: multi-process)
2012-08-04
19:41
[ce93e883c3] Fix a bug causing a freed block to be reused twice. (user: dan, tags: multi-process)
16:47
[48718fd6fb] Fix a bug in seeking within levels undergoing merges. (user: dan, tags: multi-process)
2012-08-03
19:23
[7d54404357] Fixes for lsm rollback. (user: dan, tags: multi-process)
2012-08-01
19:07
[2a1738ca1d] Reuse old chunks of the *-shm file when they become available. (user: dan, tags: multi-process)
2012-07-28
19:46
[d3fdb8ed3b] Fix a bug preventing the in-memory tree from being emptied after it is written to disk. (user: dan, tags: multi-process)
18:15
[9caaec13f2] Reenable the free block list. (user: dan, tags: multi-process)
11:17
[ee0c4cb2ac] Reenable the append-list. (user: dan, tags: multi-process)
2012-07-27
19:08
[b2caad38b9] Work on checkpoint management. Fix the lsm_info() calls used by lsmview.tcl. (user: dan, tags: multi-process)
2012-07-26
19:32
[919a30c1d7] Work on snapshot management changes. (user: dan, tags: multi-process)
2012-07-25
19:14
[40d15be410] Further progress on multi-process changes. (user: dan, tags: multi-process)
2012-07-24
20:38
[47285746d5] Fix some small issues. Some test cases pass, but things are still broken. (user: dan, tags: multi-process)
2012-07-21
19:35
[2e04c147f3] Further progress towards multiple processes. (user: dan, tags: multi-process)
2012-07-20
20:27
[b20504a93b] Changes towards supporting multiple processes. This branch crashes at the moment. (user: dan, tags: multi-process)
2012-07-16
00:03
[10befd97f8] Fix errors in the examples of numeric encoding on the key-encoding wiki page. (user: drh, tags: trunk)
2012-07-07
19:52
[d8523ddd93] Merge trunk changes. (user: dan, tags: multi-process)
19:43
[fe3cca104b] Store the checkpoint id associated with each free-list entry in the checkpoint itself. (user: dan, tags: multi-process)
15:51
[4241ba7584] Store the append-point list in the checkpoint. Limit it to a maximum of 4 entries. (user: dan, tags: multi-process)
12:21
[3ffef65b7c] minor doc update. (user: stephan, tags: trunk)
11:44
[3dd0037efb] merged in lsm_env-xsize branch. (user: stephan, tags: trunk)
11:43
[1eb4aaa4c2] Closed-Leaf: Added license header to test_mem.c (user: stephan, tags: lsm_env-xsize)
11:30
[4c5516a180] Updates to test_mem.c. Add the "mtv.tcl" script to the tool/ directory. (user: dan, tags: lsm_env-xsize)
01:48
[bc9838094b] removed unused var. (user: stephan, tags: lsm_env-xsize)
01:47
[a65e92209c] Removed unused variables. (user: stephan, tags: lsm_env-xsize)
01:44
[015bf0d87b] removed a .PHONY which caused too many automatic runs of "test". (user: stephan, tags: lsm_env-xsize)
2012-07-06
22:38
[2ee70dc7a3] Minor internal doc correction. (user: stephan, tags: trunk)
22:13
[1f710b8de6] Minor cleanups to the previous commit. (user: stephan, tags: lsm_env-xsize)
22:00
[bd2e6627f8] Added lsm_env::xSize() for Posix. Added initial memory-tracking bits to tclsqlite per request from Dan. (user: stephan, tags: lsm_env-xsize)
21:58
[6d31a9d20c] Create new branch named "lsm_env-xsize" (user: stephan, tags: lsm_env-xsize)
17:42
[daac1c7c4e] Add file "shm.wiki" with notes regarding shared memory contents. (user: dan, tags: multi-process)
2012-07-04
09:44
[28a10397d1] Remove unused variable. (user: dan, tags: trunk)
2012-07-03
18:59
[e5f3a7f3bb] Add OOM test cases. (user: dan, tags: trunk)
2012-07-02
20:30
[bb5e2480d9] Move some elements of struct "Snapshot" into struct "Database". (user: dan, tags: trunk)
17:41
[68cf8c4224] Fix bug that could occasionally cause reverse scans to visit deleted keys. (user: dan, tags: trunk)
15:28
[aa6a7a1405] Fix a bunch of warnings. Add const to lsm.h functions where required. Add declaration for lsm_delete_range(). (user: dan, tags: trunk)
14:43
[de69df8f21] Fix the build for Mac. (user: drh, tags: trunk)
14:38
[32a1ec497d] Add extra crash simulation test. (user: dan, tags: trunk)
13:01
[72d8d2c1a3] Removed "struct" in some decls where it is not necessary due to typedefing of the struct. (user: stephan, tags: trunk)
11:49
[14ebedd379] Update power-failure simulation tests. Run these along with all other tests as part of the "lsmtest test" command instead of via "lsmtest crash". (user: dan, tags: trunk)
2012-07-01
12:56
[022ebd696a] 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. (user: stephan, tags: trunk)
12:54
[2600364e5d] TCC now defaults to BCC (which the comments suggest it should). Changed more vars use ?= assignments. (user: stephan, tags: trunk)
12:26
[3778d30fed] Reverted inadvertent TCL_FLAGS changes in Makefile.linux-gcc (now points back to drh). (user: stephan, tags: trunk)
12:14
[c7aae3142c] minor optimization to rowsetAllocateChunk(), replacing a static with a local enum (less stack space). (user: stephan, tags: trunk)
11:54
[c8400e4a56] 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. (user: stephan, tags: trunk)
11:12
[f1d0e9ec1a] 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. (user: stephan, tags: trunk)
09:45
[a7ea695809] added -fPIC flags to gcc (needed in order to link libsqlite4 with clients on some platforms). (user: stephan, tags: trunk)
08:42
[646e0ff83a] 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. (user: stephan, tags: trunk)
08:40
[9fb002dc3e] moved FTS3_OBJ into its own variable so that i can disable it for tcc builds (where it does not compile). (user: stephan, tags: trunk)
2012-06-30
21:49
[8f2a15eba2] 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. (user: drh, tags: trunk)
19:29
[7eb384bf3a] Test that a crash during database checkpoint does not cause data loss. Fix the same. (user: dan, tags: trunk)
17:18
[dcb644174f] Fix some errors in lsm OOM tests. (user: dan, tags: trunk)
15:44
[1b1bc882cc] 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). (user: stephan, tags: trunk)
14:58
[b1b19786f8] Repaired freeing of Db::pSchema in sqlite4_close() (was apparently broken by porting-related changes). (user: stephan, tags: trunk)
12:22
[61f3dc58ad] 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. (user: stephan, tags: trunk)
11:23
[2da2944388] Added a memset() ifndef NDEBUG to hide an uninitialized write() memory access in debug builds (to avoid poluting the valgrind log). (user: stephan, tags: trunk)
11:02
[8ad7a840c1] sqlite4_initialize/shutdown() doc additions, based on the current embedded docs. (user: stephan, tags: trunk)
09:39
[c56ca2860f] Added makefile stub src src so (x)emacs can build with the conventional keystrokes. (user: stephan, tags: trunk)
01:01
[f08dc93314] Uplifted Xyz_item classes to XyzItem for consistency. (user: stephan, tags: trunk)
2012-06-29
23:58
[1c5e0a68e4] minor doc/style touch-up. (user: stephan, tags: trunk)
23:56
[60277542c8] Uplifted AggInfoCol and AggInfoFunc (formerly AggInfo_col/func, renamed for consistency). (user: stephan, tags: trunk)
23:15
[cd7f47bf33] re-located a mis-located sqlite4::init member doc comment. (user: stephan, tags: trunk)
23:02
[ee4cd98515] moved Parse::aColCache/yColCache type into ParseYColCache. (user: stephan, tags: trunk)
22:49
[b66a99f023] merged in [3abadc2e11ef] (approved by drh). (user: stephan, tags: trunk)
22:42
[3abadc2e11] Closed-Leaf: "uplifted" sqlite4::init to Sqlite4InitInfo typedef. (user: stephan, tags: stephan)
21:40
[995c17a6f1] "Uplifted" KVFactory::xFactory's type to typedef KVFactory_factory_f. (user: stephan, tags: trunk)
21:38
[db19977f62] 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. (user: stephan, tags: trunk)
19:30
[50900a38be] Second round of portability/compliance fixes. A few more casts than i would care for, but nothing too unsettling. (user: stephan, tags: trunk)
18:46
[223fc19acd] 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. (user: stephan, tags: trunk)
17:01
[b6cd91bb50] added an extra ifdef for LSM_DEBUG to please gcc when LSM_DEBUG is -Defined via CLI args. (user: stephan, tags: trunk)
15:58
[2aa05e9008] Fix some minor compiler warnings. (user: drh, tags: trunk)
15:43
[4d248c2b0e] Updates to the porting guide. (user: drh, tags: trunk)
15:39
[da13c446be] Change all "SQLITE_" prefixes on preprocessor macros to "SQLITE4_" to avoid name collisions with SQLite3. (user: drh, tags: trunk)
12:03
[3f38af19aa] 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. (user: dan, tags: trunk)
09:29
[94d6e18da7] Fix widget packing in lsmview.tcl so that the window can be resized. (user: dan, tags: trunk)
09:08
[77e1df0f54] Fix a problem causing a crash when two checkpoints are run in a row. (user: dan, tags: trunk)
2012-06-28
20:23
[96b94e76b4] Updates to the lsmheader.c utility to handle the latest file format changes. (user: drh, tags: trunk)
20:16
[2976bd261e] Fix the header comment in lsm_ckpt.c. (user: dan, tags: trunk)
19:57
[982be24021] Add pragmas: lsm_flush, lsm_checkpoint, and lsm_merge=N. (user: drh, tags: trunk)
19:37
[e66821dd2b] Fix a problem with very large keys. (user: dan, tags: trunk)
19:04
[8e67b5db18] Update the lsmheader.c utility to work with the new file format. (user: drh, tags: trunk)
18:38
[3b3fb3c3c8] When possible, store the freelist in the db header instead of the top-level segment. This changes the file format. (user: dan, tags: trunk)
17:58
[262705a2e8] In lsmview.tcl, how additional information about levels on mouse-over. (user: drh, tags: trunk)
14:57
[f105bf9ee9] Minor corrections and clarifications to the checkpoint description in the header comment of lsm_ckpt.c. (user: drh, tags: trunk)
14:52
[7c99fd7b7e] Add a simple utility program to display the content of the LSM header in a human-readable format. (user: drh, tags: trunk)
14:00
[8deabec80b] Remove several obsolete files from the tools/ subdirectory. (user: drh, tags: trunk)
08:15
[3a4aa407a7] Disable mmap() on 32-bit hosts. (user: dan, tags: trunk)
01:09
[1a65f02fae] Add a makefile target for the "varint" command-line tool that converts integers into varints and varints into integer for debugging. (user: drh, tags: trunk)
2012-06-27
22:36
[13d59a9f43] Display a hex dump of the row content of each page in lsmview.tcl. Add the "Export" button to lsmview.tcl. (user: drh, tags: trunk)
21:46
[6b2b23de4f] Correction to the usage comment on the "show" command of "lsmtest". (user: drh, tags: trunk)
20:28
[c1e0b6a7e8] Move tdb_lsm_config_str and test_lsm_config_str out of the "#ifdef LSM_MUTEX_PTHREADS" block. (user: dan, tags: trunk)
18:31
[fdf301afe7] Update the lsmview.tcl script to work with embedded b-trees. (user: dan, tags: trunk)
16:34
[5eed33bc57] Merge embedded-btree branch with trunk. (user: dan, tags: trunk)
16:10
[50e87e23bb] Leaf: Remove a broken assert from lsm_sorted.c. (user: dan, tags: embedded-btree)
16:02
[afcbe561ff] Testing finds no cases where separator runs are faster than embedded btrees. So discard the separator runs related code. (user: dan, tags: embedded-btree)
13:56
[bd2216554b] Purge talk of sqlite4_prepare_v2() from the documentation. Also attach the original SQL to a prepared statement, even for internally generated statements. (user: drh, tags: trunk)
12:28
[4539458ce3] Fixes to the amalgamation in order to enable a fossil4 build. (user: drh, tags: trunk)
10:22
[2be9bac408] Ensure that "expensive-assert" code only runs when LSM_DEBUG_EXPENSIVE is defined. (user: dan, tags: embedded-btree)
2012-06-26
20:39
[209c12ae0b] Merge trunk changes. (user: dan, tags: embedded-btree)
20:17
[f19a93d9f9] Updates to the design and storage documents. (user: drh, tags: trunk)
19:45
[d409cd8c8a] Fix a bug causing an infinite loop if there are open cursors when the in-memory tree is flushed to disk. (user: dan, tags: embedded-btree)
18:47
[859a51036f] 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. (user: drh, tags: trunk)
18:24
[5df080a1aa] Add a stack of named storage engines, with the ability to push or pop storage engines using sqlite4_env_config(). (user: drh, tags: trunk)
18:10
[ec39163b79] Fix another problem with mmap and using a background thread. (user: dan, tags: embedded-btree)
15:43
[0fcabb513b] Add LSM_CONFIG_NMERGE parameter. Add code to lsmtest so that lsm configurations can be specified in string form. (user: dan, tags: embedded-btree)
14:51
[568d9dca50] Add version information to the start of the sqlite4_kv_methods object. Begin adding documentation on adding external storage engines. (user: drh, tags: trunk)
00:05
[26f71bad46] Expose the sqlite4_kvstore object and its relatives in the public interface. (user: drh, tags: trunk)
2012-06-25
23:17
[7dcd06d12a] Update the porting guide to include sqlite4_log() and sqlite4_randomness() in the set of functions requiring an sqlite4_env object. (user: drh, tags: trunk)
23:15
[e8814a06a8] Add the sqlite4_env parameter to sqlite4_log(). (user: drh, tags: trunk)
22:52
[366e83e3d7] Make the initialization of the global built-in function table threadsafe. (user: drh, tags: trunk)
19:46
[33bf91ee7c] Complete removal of sqlite4_config(). All code now uses sqlite4_env_config() instead. (user: drh, tags: trunk)
19:34
[4192f826d1] 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. (user: drh, tags: trunk)
19:28
[dee2172b52] Leaf: 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. (user: drh, tags: sqlite4_env)
19:16
[3e50bb0a22] Fix another remapping related problem. (user: dan, tags: embedded-btree)
18:53
[a34def59f7] Initialize the random number generator in sqlite4_initialize(). (user: drh, tags: sqlite4_env)
18:40
[49cfd9043b] Fix a problem with stale pointers after remapping a file. (user: dan, tags: embedded-btree)
10:02
[a983d57868] Fix various glitches to do with iterating through b-tree structures. (user: dan, tags: embedded-btree)
2012-06-23
20:22
[90c0d5d8fe] Scan the embedded b-trees instead of the separator runs when merging in separator keys from a lower level. (user: dan, tags: embedded-btree)
17:26
[272ebdd8c0] Tests run to completion now - no more assertion faults. But still lots of errors and memory leaks. (user: drh, tags: sqlite4_env)
10:04
[cc0b45d17e] Add untested functions to save and restore b-tree cursor positions. (user: dan, tags: embedded-btree)
2012-06-22
20:29
[1d65209131] 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. (user: drh, tags: sqlite4_env)
18:06
[df818c275b] Merge trunk changes. (user: dan, tags: embedded-btree)
17:57
[29d761c438] 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. (user: dan, tags: embedded-btree)
16:55
[949cb749fe] Modify sqlite4_mem_methods to remove xRoundup, add the Benign methods, and for all methods to take an environment pointer as their first argument. (user: drh, tags: trunk)
14:58
[d3fa91fcba] Add the sqlite4_env parameter to sqlite4_threadsafe(). (user: drh, tags: trunk)
14:38
[3d9d348099] Update sqlite4_snprintf() documentation to conform to the implementation. Add the sqlite4_env pointer to sqlite4_randomness(). (user: drh, tags: trunk)
14:11
[1d55f52a68] Add sqlite4_env pointers to BenignMalloc() interfaces. (user: drh, tags: trunk)
13:55
[51ce2f2c5a] Hash objects track and use the sqlite4_env environment object. (user: drh, tags: trunk)
13:41
[dfb7327a6b] Update the KVStore and KVCursor objects so that they track and use the run-time environment in which they were created. (user: drh, tags: trunk)
13:07
[4d0c4d3194] Add (incomplete) notes on porting an application from SQLite3 to SQLite4. (user: drh, tags: trunk)
13:02
[8f6298ae15] 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. (user: drh, tags: trunk)
10:31
[91ba00572b] 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. (user: drh, tags: trunk)
10:26
[4360e4fcf7] Leaf: "make test" now runs to completion. But there are 5 errors and a big memory leak. (user: drh, tags: malloc-refactor)
02:37
[196691d50e] Begin refactoring the memory allocation logic to always require an environment pointer. This code will compile but does not run. (user: drh, tags: malloc-refactor)
2012-06-21
20:22
[97fe6585f1] 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. (user: dan, tags: embedded-btree)
19:13
[2d7bf1c174] Get the amalgmation build working. (user: drh, tags: trunk)
2012-06-20
18:44
[9c5b3be405] Do not crash if a NULL pointer is passed to lsm_work(). (user: dan, tags: trunk)
18:12
[e68d4c19fc] Fix errors in log1.test. (user: dan, tags: trunk)
18:08
[370c91e3fb] Avoid creating the first page of a separators run until the first key is actually ready. (user: dan, tags: trunk)
15:21
[081b0b60d9] Fix another issue to do with non-default page sizes. (user: dan, tags: trunk)
15:06
[d3bdb27143] 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). (user: dan, tags: trunk)
09:02
[f148e2d69e] Fix a crash that can occur if there are multiple clients and one calls lsm_work() on an empty database. (user: dan, tags: trunk)
2012-06-19
20:13
[a3bb493051] Fix an issue with opening a database with a page-size other than the default. (user: dan, tags: trunk)
19:20
[eac6a6e736] Fix typo in lsm.h. (user: dan, tags: trunk)
19:18
[af626f504f] Add OOM tests. (user: dan, tags: trunk)
17:12
[0b88b3e607] Fix a memory leak. And a crash that can follow an OOM condition. (user: dan, tags: trunk)
15:49
[1b963352fc] Fix a bug in saving the free-list. (user: dan, tags: trunk)
11:06
[a44d3a0079] Add the lsm_env.xFullpath method. (user: dan, tags: trunk)
09:33
[2c1cb6d1df] Add the lsm_env.xFileid method. (user: dan, tags: trunk)
2012-06-18
11:58
[3ac27ad615] 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. (user: dan, tags: trunk)
09:49
[33f7f3d0ca] 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. (user: dan, tags: trunk)
2012-06-16
20:17
[17cbef9640] Use LSM_SEEK_LEFAST to allocate rowids and table numbers. (user: dan, tags: trunk)
17:57
[16087468ca] Fix a typo in key_encoding.txt. (user: dan, tags: trunk)
15:15
[2918b534a9] Wiki-ify more of the design document. (user: drh, tags: trunk)
01:51
[069df232c7] 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. (user: drh, tags: trunk)
00:52
[bc03d8b6ae] Expand the sqlite4_env_config() functionality, moving it towards becoming a replacement for sqlite4_config(). (user: drh, tags: trunk)
2012-06-15
19:45
[816caf4560] The sqlite4_initialize() and sqlite3_shutdown() routines now apply to a specific sqlite4_env object, not to the entire process. (user: drh, tags: trunk)
19:25
[265f78a59f] Remove LSM_INFO_CKPT. (user: dan, tags: trunk)
19:15
[621d0959d3] Remove the sqlite4_temp_directory global variable. (user: drh, tags: trunk)
18:44
[a9320cba9e] Add a link to env.wiki to the homepage. (user: drh, tags: trunk)
18:32
[bd88d085ab] Add notes on the sqlite4_env run-time environment object. (user: drh, tags: trunk)
18:28
[b8afdc063a] Ensure that the restrictions on lsm_csr_next() and lsm_csr_prev() calls are enforced. (user: dan, tags: trunk)
17:40
[e08d204b2c] Remove more VFS code. (user: drh, tags: trunk)
17:19
[153c39d376] Begin removing the VFS. (user: drh, tags: trunk)
17:01
[d5d71903fc] Combine the lsm_cursor and MultiCursor structures. (user: dan, tags: trunk)
15:41
[bc1ff706e6] Remove the source files for the obsolete sqlite4_get_table() implementation. (user: drh, tags: trunk)
15:21
[3db6e07474] Remove tests cases that are specific to shared-cache, since SQLite4 does not have shared cache. (user: drh, tags: trunk)
15:03
[540af0b093] Remove all FTS1 and FTS2 test scripts. (user: drh, tags: trunk)
14:50
[74885d9cbf] Remove the sqlite4_soft_heap_limit() and sqlite4_release_memory() interfaces. (user: drh, tags: trunk)
14:08
[2069291793] One more OOM related fix for lsm_log.c. (user: dan, tags: trunk)
14:07
[acfbe5d203] Changes to lsm_log.c to avoid crashing following an OOM condition. (user: dan, tags: trunk)
2012-06-14
20:43
[91a802eedd] Add LSM_SEEK_LEFAST. But do not enable it in OP_NewRowid yet, as it causes too many test cases to fail. (user: dan, tags: trunk)
19:02
[22e89b1dc1] Make sure the constructors for KVStore objects have access to the sqlite3_env object. (user: drh, tags: trunk)
18:01
[d8018604ee] Avoid storing a pointer to an lsm_env object in any structure that may be shared by more than one connection. (user: dan, tags: trunk)
15:04
[8785d13b06] Fix an out-of-bounds read problem. (user: dan, tags: trunk)
14:05
[9b06d41f7b] Remove some unused variables. (user: dan, tags: trunk)
11:38
[ba35f9d68a] Fix another memory leak. (user: dan, tags: trunk)
09:54
[084e4c1ad8] Fix a test problem in lsmtest6.c. And some dropped return codes in lsm. (user: dan, tags: trunk)
2012-06-13
20:24
[7f7d7bc687] Continue adding OOM tests. (user: dan, tags: trunk)
17:41
[9834ea1d9d] Fix another memory leak. (user: dan, tags: trunk)
17:36
[3380b739e1] Fix long standing memory leak. (user: dan, tags: trunk)
16:38
[d6ce76ed01] Fix further problems revealed by OOM injection tests. (user: dan, tags: trunk)
2012-06-12
20:20
[a65d1ea34d] Extra tests. (user: dan, tags: trunk)
17:43
[d089a0f97e] Start adding OOM injection tests to lsmtest. Fix issues along the way. (user: dan, tags: trunk)
2012-06-11
19:51
[9afb7862e4] Improve documentation in lsm_file.c. Fix other problems. (user: dan, tags: trunk)
16:35
[57e0f3288d] Changes so that phantom runs work in mmap mode. (user: dan, tags: trunk)
16:00
[d352b485a6] Fix the way meta-pages are handled in lsm_file.c. (user: dan, tags: trunk)
2012-06-09
20:08
[e1816661f1] 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. (user: dan, tags: trunk)
2012-06-05
19:38
[84ea6f9a68] Remove Database.pCkptMutex. Fix a problem with database files larger than 2GB. (user: dan, tags: trunk)
15:32
[549b270c77] Add new methods to struct lsm_env: xUnlink and xSectorSize. (user: dan, tags: trunk)
11:52
[2d2ca7bb25] Improve the "lsmtest speed" command. (user: dan, tags: trunk)
2012-06-04
19:52
[0ad3b38e01] Switch to using the C interface when building leveldb into lsmtest. (user: dan, tags: trunk)
18:14
[66d3f705c6] 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. (user: dan, tags: trunk)
14:23
[dc75aaa181] Fix a problem with holding lsm cursors open when the in-memory tree is flushed to disk. (user: dan, tags: trunk)
09:26
[ac42c5dbca] Add an option to lsmview.tcl to display database keys and values using hex notation. (user: dan, tags: trunk)
2012-06-02
19:25
[a64905f08e] Change the 'lsmtest crash' command to accept a glob pattern as an argument. (user: dan, tags: trunk)
18:55
[960afb3114] 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. (user: dan, tags: trunk)
2012-06-01
19:47
[5666f70625] Fix test infrastructure for lsmtest power failure tests. (user: dan, tags: trunk)
14:29
[f0adbf3613] Fix a problem displaying pointers in lsmview.tcl. (user: dan, tags: trunk)
13:17
[acd617edb0] Further improvements to lsmview.tcl. (user: dan, tags: trunk)
2012-05-31
20:07
[d34cc3832d] Enhance lsmview.tcl so that it may be passed a database name on the command line. (user: dan, tags: trunk)
19:11
[0bdcfc3932] 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. (user: dan, tags: trunk)
2012-05-30
20:17
[99b6b9ade5] Fix a problem with log-wrapping triggered by an asynchronous checkpoint. (user: dan, tags: trunk)
18:41
[23794ed181] Log-file related fixes for savepoint rollback. (user: dan, tags: trunk)
17:10
[af5842b48f] Simplify the internals of lsm_log.c a bit. (user: dan, tags: trunk)
12:02
[771940c9cc] Avoid overwriting runs that may still be in use when performing background work. (user: dan, tags: trunk)
2012-05-29
18:03
[d515a162a2] Fix a problem causing a block to be added to the freelist and reused as part of the same write. (user: dan, tags: trunk)
16:08
[d1817c36d2] Fix a crash when attempting to close a database handle on which lsm_open() has failed. (user: dan, tags: trunk)
16:02
[e867c0cea0] Fix checkpointing of databases that contain large numbers of levels. (user: dan, tags: trunk)
2012-05-28
19:20
[4550832dec] Fix a bug causing the generation of very large database files. (user: dan, tags: trunk)
18:25
[75b9eec7fb] Remove the "append-list" from the shared data and checkpoint formats. (user: dan, tags: trunk)
2012-05-23
11:49
[d2c9dc4ffa] Fix problems with log wrapping. (user: dan, tags: trunk)
2012-05-22
19:46
[385799592f] Add missing test/test_lsm.c file. (user: dan, tags: trunk)
19:45
[20ec785d0a] Further progress and test cases for logging. (user: dan, tags: trunk)
2012-05-21
20:13
[2f9b09b9b8] Further work on logging and thread-safety in lsm. (user: dan, tags: trunk)
09:02
[ad1c1793fc] 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. (user: dan, tags: trunk)
2012-05-19
10:03
[802871916a] Update log file format comments in lsm_log.c. Store the current log file offset as a part of each checkpoint record. (user: dan, tags: trunk)
2012-05-18
16:13
[50a7df2a67] Truncate any log file to zero bytes in size as part of a clean database shutdown. (user: dan, tags: trunk)
15:04
[e607910f65] Logging related fix for databases with multiple clients. (user: dan, tags: trunk)
09:20
[48bb7fd595] Fix a bug in log recovery checksums. (user: dan, tags: trunk)
2012-05-17
20:01
[279f148134] Re-enable logging. Still buggy. (user: dan, tags: trunk)
2012-05-11
11:07
[4afc8d05d7] Fix typos in the design.wiki document. (user: drh, tags: trunk)
2012-05-09
16:58
[41a5660c29] Fix problems with multi-threaded lsm tests. (user: dan, tags: trunk)
14:35
[4c8557b77c] Mark checkpointed b-tree pages as read-only when they are reloaded from disk. Fix other lsm problems related to [8e27d1f99c]. (user: dan, tags: trunk)
11:46
[df636b697a] Minor tweak to the decimal_floating_point.txt note. (user: drh, tags: trunk)
11:37
[a36eae7be6] Tweaks to the design summary document. (user: drh, tags: trunk)
09:23
[009cce0921] Fix crash in debugging function lsmLogMessage(). (user: dan, tags: trunk)
2012-05-08
23:38
[6df890f9b0] Begin adding documentation in the www/ directory. (user: drh, tags: trunk)
20:02
[8e27d1f99c] Re-enable writing separators and main runs to the same block. (user: dan, tags: trunk)
14:19
[e52e8a370d] Fix a problem in lsmtest4.c. (user: dan, tags: trunk)
11:51
[788cb6b961] Fix lsmtest "rollback" tests. Fix a memory leak in lsm_shared.c. (user: dan, tags: trunk)
2012-05-07
19:53
[adca302324] Enable the fenceposting code in lsmtest_mem.c. Fix a bug in lsm_mem.c. Remove traces of the old mutex API. (user: dan, tags: trunk)
18:57
[e5c56f655f] Fix compilation problem in lsmtest. (user: dan, tags: trunk)
18:39
[ee29d7847d] Use lsm_env instead of lsm_mutex_methods. (user: dan, tags: trunk)
17:33
[a9c6261d5d] Remove lsm_vfs. Use lsm_env instead. (user: dan, tags: trunk)
16:47
[1029e6cce7] Ensure that all allocations made by the LSM module use the supplied malloc functions supplied by the user. (user: dan, tags: trunk)
12:06
[49ff55e1a6] Import code for the "lsmtest" test utility. (user: dan, tags: trunk)
08:57
[7a603fa454] Remove unused functions dflt_malloc() and friends from lsm_mem.c. (user: dan, tags: trunk)
2012-05-05
16:33
[51d37b1626] Update the original rowset code so that it works with variable length keys. Remove the placeholder keyset code. (user: dan, tags: trunk)
08:31
[ba6ca06478] Remove the sqlite4.pVfs variable. (user: dan, tags: trunk)
08:14
[6610b8134e] Expand the set of sqlite3 tests run by src4.test. (user: dan, tags: trunk)
2012-05-04
19:01
[b688877924] Fix a crash in "? IN (SELECT ... ORDER BY ... LIMIT)" expressions. Also a crash in lsm_csr_valid(). (user: dan, tags: trunk)
16:05
[7b6ffb0a0b] Fix a crash that can occur if the index specified by an INDEXED BY clause cannot be used. (user: dan, tags: trunk)
13:00
[927b8c3427] Fix a crash in scalar sub-selects that have ORDER BY clauses. (user: dan, tags: trunk)
09:09
[9dac245adf] Update the explainIndexRange() function. (user: dan, tags: trunk)
2012-05-03
20:07
[8bcdfe884e] Remove a bad assert(). Fix rowid related crashes in triggers and foreign keys. (user: dan, tags: trunk)
17:18
[d38792589b] Remove the update, commit, rollback and wal hooks. (user: dan, tags: trunk)
16:34
[add223fab0] 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). (user: dan, tags: trunk)
16:04
[47b30670d4] Fix for "DISTINCT rowid" queries that have more than one datasource in the FROM clause. (user: dan, tags: trunk)
15:04
[d8e75dd125] Continuing work on cutting over the lsm_env logic in LSM. (user: drh, tags: trunk)
09:57
[2e9888ce58] Update boundary1.test. (user: dan, tags: trunk)
2012-05-02
20:09
[9ca276ac06] Fix the commit and rollback hook callbacks. Remove more dead code. (user: dan, tags: trunk)
19:19
[6860a3b80c] Fix warnings and other code issues. (user: dan, tags: trunk)
15:49
[d32ba91d2b] Fix automatic indexes. (user: dan, tags: trunk)
2012-05-01
20:01
[6c6ce37269] Improve the EXPLAIN QUERY PLAN output a little. (user: dan, tags: trunk)
18:18
[51563f07cb] Remove an incorrect assert() from where.c. (user: dan, tags: trunk)
17:12
[f53a618a2a] 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. (user: dan, tags: trunk)
11:34
[6baa42724c] Fix bugs in where.c and vdbe.c that occur when using a non-PK index to optimize an inequality on the PK fields. (user: dan, tags: trunk)
10:29
[93167e13de] Fix a typo in [989bd130d7]. (user: dan, tags: trunk)
2012-04-30
19:27
[989bd130d7] Fix a crash occuring in lsm following a failed call to open(). And another in "BEGIN EXCLUSIVE". (user: dan, tags: trunk)
18:39
[e44d955795] Fix a problem with aggregate queries that do not use any column values in the expression-list. e.g. "SELECT count(*) FROM ...". (user: dan, tags: trunk)
16:49
[d8e2b6be11] 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. (user: dan, tags: trunk)
11:56
[cb9f166a72] Fix some lsm problems with modifying the database while there are active cursors. (user: dan, tags: trunk)
08:54
[5f5ca72866] Fix some problems with sqlite4_changes() and DELETE statements. (user: dan, tags: trunk)
2012-04-28
17:59
[ebe7972eb3] Update scripts fkey3.test and fkey4.test. (user: dan, tags: trunk)
17:50
[b7f7cd27ac] Fix problems with foreign key actions. (user: dan, tags: trunk)
16:03
[76ea2fc0e8] Update some test cases in triggerC.test. (user: dan, tags: trunk)
15:03
[f61bb092cb] Fix a problem with updating primary key fields. Change the error message generated when a PRIMARY KEY constraint is violated to match SQLite 3. (user: dan, tags: trunk)
02:39
[5ae95088ab] Refactor the memory-printf components of LSM to be in a more manageable form. More work is needed here. (user: drh, tags: trunk)
2012-04-27
23:16
[d28f9b6503] 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. (user: drh, tags: trunk)
19:45
[145889c3c9] Restore the initial value of the database deferred FK constraint counter if a statement transaction is rolled back. (user: dan, tags: trunk)
19:20
[17b729a2fd] Fix a bug in OP_IsUnique. (user: dan, tags: trunk)
16:30
[cc3e890839] Update some savepoint related test cases so that they work with sqlite 4. (user: dan, tags: trunk)
15:01
[eae7182230] Fix an lsm problem with rollback. (user: dan, tags: trunk)
2012-04-26
19:59
[365620b19d] Progress towards working savepoints. Fixes to LSM transaction handling. (user: dan, tags: trunk)
11:30
[76cd35aad6] Fix various compiler warnings. Begin fixing savepoint logic. (user: dan, tags: trunk)
2012-04-25
19:00
[146284d2de] Do not attempt to reindex the primary key index. Add an xMakeKey callback for the RTRIM collation. (user: dan, tags: trunk)
17:24
[e40c75ec8d] Remove support for "oid" and "_rowid_". Only support "rowid" on tables that have an implicit primary key. (user: dan, tags: trunk)
16:18
[e56fd972d1] If necessary, convert text to the correct encoding before invoking a collation sequence xMakeKey callback. (user: dan, tags: trunk)
12:16
[d71f9ef975] Add the "blessing" boilerplate, with correct dates, to the top of each LSM source file. (user: drh, tags: trunk)
11:21
[46ae3fcec6] Add lsm source files. (user: dan, tags: trunk)
09:59
[704936cfc8] Fixes for DESC indexes. (user: dan, tags: trunk)
2012-04-24
19:44
[efe3d2e0e7] Added clarification for the key-encoding of text. (user: drh, tags: trunk)
18:47
[35e984dde5] Correct a buggy assert() in insert.c. (user: dan, tags: trunk)
17:54
[99459e1ea9] Updates to test scripts and main.mk. (user: dan, tags: trunk)
11:26
[26f16cc588] Move the test C code from the src/ to the test/ subdirectories. (user: drh, tags: trunk)
11:16
[5c7177fa33] 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. (user: drh, tags: trunk)
00:34
[68df3f5ea7] Remove the bitvec.c module as it was no longer being used. (user: drh, tags: trunk)
2012-04-23
23:02
[6a87af6545] Change the sqlite4_config() interface so that it applies to a particular sqlite4_env object. (user: drh, tags: trunk)
21:08
[b94314c297] 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. (user: drh, tags: trunk)
19:49
[88ac7f6772] 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. (user: drh, tags: trunk)
18:38
[187316a0dc] Fix a problem to do with copying from the sorter to a temporary table in select.c. (user: dan, tags: trunk)
16:50
[6ebe82280d] Change the tcl interface so that tcl scripts may specify collation sequence xMkKey callbacks. (user: dan, tags: trunk)
15:49
[9a64e0bc7e] Remove the OS/2 interface logic. (user: drh, tags: trunk)
14:54
[fe9ccd646d] Fix a bug in the nocase collation xMkKey function. (user: dan, tags: trunk)
14:26
[1073bb477e] Remove the VDBE merge sorter. (user: drh, tags: trunk)
14:11
[6c9adc9acc] Add an xMkKey callback to the built-in collation sequence "nocase". Fix a bug in encoding text values with collation sequences into database keys. (user: dan, tags: trunk)
12:47
[ff68adaca1] Remove the sqlite4_get_table() API. (user: drh, tags: trunk)
12:07
[4dbb499c39] Allow multiple NULL values in a UNIQUE index. (user: dan, tags: trunk)
11:45
[b0ac144cf5] 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. (user: drh, tags: trunk)
09:40
[2dc7b22339] Fix for compound EXCEPT queries. (user: dan, tags: trunk)
2012-04-21
19:59
[fdaed18ddf] Additional comments on the key encoder. Remove an unused variable. (user: drh, tags: trunk)
19:19
[7017d07fea] Fix an off-by-one problem with encoding real values into index keys. Add a test for sorting numeric values. (user: dan, tags: trunk)
18:55
[ee5b8b8d11] Fixes to the text of the key encoding definition in key_encoding.txt. (user: drh, tags: trunk)
17:33
[7aace3e09f] Get some more aggregate queries working. (user: dan, tags: trunk)
13:56
[9346a42e0d] Get rid of the page-cache and scratch memory allocators. (user: drh, tags: trunk)
13:18
[bf89aa0f37] Remove the alternative pcache mechanism. (user: drh, tags: trunk)
13:00
[735870610b] All filenames are now URI capable. There is no provision for disabling URI filenames. (user: drh, tags: trunk)
12:49
[27e0994174] Remove the last traces of shared cache mode. (user: drh, tags: trunk)
00:40
[e454574981] 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. (user: drh, tags: trunk)
2012-04-20
20:41
[76ca8d1bee] Move development back to trunk. (user: drh, tags: trunk)
20:38
[49e419f4e8] Closed-Leaf: Changes so that things work without SQLITE_ENABLE_LSM. (user: dan, tags: primary-keys)
20:15
[9ac54fff5f] Fix the sqlite4RefillIndex() function. This removes the broken (and disabled) merge-sort code. (user: dan, tags: primary-keys)
18:35
[4c1dca78b3] Changes to where.c to use the PK columns appended to each auxiliary index entry. (user: dan, tags: primary-keys)
14:21
[b05e622090] A fix to sqlite4VdbeDecodeIntKey(). (user: drh, tags: primary-keys)
2012-04-19
18:51
[14d96763cc] Fix a problem with inequality constraints and indexes. (user: dan, tags: primary-keys)
18:33
[ed6ac6860b] Fixes for scans on indexes other than the primary key. (user: dan, tags: primary-keys)
2012-04-18
18:27
[174119bec7] Add file kvlsm.c, a KVStore wrapper around lsm. (user: dan, tags: primary-keys)
2012-04-17
18:49
[946fe6504a] Comment out some tests in select1.test that depend on "PRAGMA full_column_names" and "PRAGMA short_column_names". (user: dan, tags: primary-keys)
18:47
[34138a088b] Fix a couple of issues with ORDER BY. (user: dan, tags: primary-keys)
09:10
[035fdd3f5e] Enforce NOT NULL on all PRIMARY KEY columns. (user: dan, tags: primary-keys)
08:23
[77b33bff0a] Fix more problems with triggers and triggers on views. (user: dan, tags: primary-keys)
05:36
[123a055a36] Fix an issue with sub-transaction rollback. (user: dan, tags: primary-keys)
2012-04-16
19:04
[b480943c48] Get most of the trigger logic working again. Still some problems. (user: dan, tags: primary-keys)
2012-04-14
19:38
[69cf7caf80] Fixes to foreign key logic. And other things. (user: dan, tags: primary-keys)
2012-04-13
19:17
[365eb3c6de] Fix sub-transaction commit in kvmem.c. Also various aspects of constraint handling. (user: dan, tags: primary-keys)
16:45
[7faa762755] Fix a problem in kvmemRemoveNode() causing a pUp (parent node) pointer to be set incorrectly. (user: dan, tags: primary-keys)
10:35
[367fdc8463] Add placeholder code to make ROLLBACK (and OR ROLLBACK constraints) work a bit. (user: dan, tags: primary-keys)
05:50
[21991a932a] Ensure that kvmemSeek() does not come to rest on a deleted node. (user: dan, tags: primary-keys)
2012-04-12
19:52
[81fab25002] Further fixes to things. (user: dan, tags: primary-keys)
11:49
[f3c424ddf3] Fix a problem in kvmemRemoveNode. (user: dan, tags: primary-keys)
2012-04-11
18:48
[ff493aaa41] Fix some problems with REPLACE and other conflict handling. (user: dan, tags: primary-keys)
15:01
[a70fb0629b] Fix various bugs. (user: dan, tags: primary-keys)
2012-04-10
19:52
[3841829752] Changes to support "real" user-defined primary keys. This is quite broken at present. (user: dan, tags: primary-keys)
2012-03-01
14:47
[a03018e6b8] Minor changes so that the code builds on Mac. (user: drh, tags: trunk)
2012-02-23
17:56
[af96bd359f] Modify the key encoding so that integer values use one less byte of space. (user: drh, tags: trunk)
2012-02-22
14:20
[4746d99cc1] Add the "kvdump" pragma for debugging. (user: drh, tags: trunk)
13:15
[70f15a5352] CREATE INDEX runs, though index queries does not work yet so there is no way to test that the index was correctly created. (user: drh, tags: trunk)
02:44
[15cf832dfc] Remove the OP_Destroy opcode. Add an implementation for OP_Clear. (user: drh, tags: trunk)
00:11
[31b1faa995] Remove the OP_CreateTable and OP_CreateIndex opcodes, which are not required with the key/value backend. (user: drh, tags: trunk)
2012-02-21
20:03
[a101b3e1c4] 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. (user: drh, tags: trunk)
20:01
[6838c8a3a7] Leaf: Inserting multiple rows into a table and querying via full-table scan is now working. (user: drh, tags: remove-btree)
19:57
[d4c10f88ad] Improved storage tracing output. (user: drh, tags: remove-btree)
19:32
[65f1e9a86f] CREATE TABLE and a single row INSERT followed by SELECT now working. Still lots of stuff that doesn't work, though. (user: drh, tags: remove-btree)
19:20
[05d897a0ae] Fix to kvmemSeek(). (user: drh, tags: remove-btree)
17:11
[829f7f1a65] Incremental check-in. Compiles but does not work. (user: drh, tags: remove-btree)
15:19
[c055a35d1e] Incremental check-in. Trying to get it running. (user: drh, tags: remove-btree)
14:50
[e85db5d81b] The testfixture now compiles. (user: drh, tags: remove-btree)
2012-02-20
19:49
[cc977cdcc6] Incremental check-in. Compiles but still does not run. (user: drh, tags: remove-btree)
18:46
[d5755d3561] Progress on transaction control. (user: drh, tags: remove-btree)
2012-02-17
20:33
[2843c28b82] Incremental check-in. The shell compiles and runs. Now trying to get it to work. (user: drh, tags: remove-btree)
16:23
[e37bee4f61] Add the kv_trace and trace pragmas. (user: drh, tags: remove-btree)
12:45
[5c44baf3fe] Compiles and links. (user: drh, tags: remove-btree)
12:12
[18d380e9a6] Incremental check-in - working toward getting it to compile. (user: drh, tags: remove-btree)
2012-02-16
22:17
[3165b1b5fb] Incremental check-in. Does not compile. (user: drh, tags: remove-btree)
2012-02-08
21:47
[87d659d624] 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. (user: drh, tags: remove-btree)
2012-01-26
22:11
[29c1ec8e6b] Always call OP_MakeKey before OP_MakeRecord prior to adding content to an index. (user: drh, tags: trunk)
20:53
[bfa05539ea] Fix the data codec so that it handles Inf and NaN. Make sure OP_MakeKey is only called with an index cursor. (user: drh, tags: trunk)
18:22
[af6351afdd] Adjust the initial values on the key encoding to provide auxiliary key space before and after the rows of each table. (user: drh, tags: trunk)
16:34
[8e27a5ca62] First cut at a complete codec for both key and data. Data decoding is untested. (user: drh, tags: trunk)
2012-01-25
17:40
[4b07acf688] Progress on the key encoder. Text value are still not encoded for keys. (user: drh, tags: trunk)
03:33
[6c42bd8b4f] Add the vdbecodec.c source file including stub functions for all encoders and decoders. Initial implementation for the data encoder. (user: drh, tags: trunk)
2012-01-24
20:48
[dcf2f7b862] Remove lots more unused code. (user: drh, tags: trunk)
14:22
[a20f69592c] Fix the spelling of "lexicographical". (user: drh, tags: trunk)
13:58
[b3390b2d58] Add the database_design.txt document. (user: drh, tags: trunk)
13:38
[3ebe674aed] Many code simplifications. Removing support for shared-cache mode, VACUUM, multiplexor, test_stat, progress handler, etc. (user: drh, tags: trunk)
2012-01-23
18:23
[9feaae9f84] Change sqlite4_create_collate() to take comparison, key-generator, and destructor functions. Omit _create_collate16() and _create_collate_v2(). (user: drh, tags: trunk)
17:22
[4dc43e1c6b] A few more tweaks for moving the version number from 3 to 4. (user: drh, tags: trunk)
17:12
[3fc5c75369] Add the varint.c module, but do not yet link it into the build. (user: drh, tags: trunk)
16:22
[9191010833] Rename all of the interfaces from "sqlite3" to "sqlite4" (user: drh, tags: trunk)
16:01
[cda3f53d63] Add tracing to the KV interface. Create KV parallels to all btrees. (user: drh, tags: trunk)
2012-01-21
21:01
[9e3883a529] All storage APIs have at least one test now. (user: drh, tags: trunk)
19:00
[4af50ccf11] Begin adding more test cases. Fix problems as they are discovered. (user: drh, tags: trunk)
18:09
[921bb26d2a] Storage code compiles and links. Initial bits of code for TCL interface. (user: drh, tags: trunk)
16:33
[b713405686] Check-in untested code and design notes for an in-memory storage subsystem. (user: drh, tags: trunk)
2012-01-20
01:21
[5371cead94] Add extensions and a Makefile. (user: drh, tags: trunk)
01:19
[cc3802d407] Initial check-in of code - a copy of SQLite3 (user: drh, tags: trunk)
01:18
[84d5dea8fd] initial empty check-in (user: drh, tags: trunk)