SQLite
Timeline
Not logged in

All nodes on the path from [release] to [trunk]

2014-10-22
14:22
[1581c30c38] Leaf: Version 3.8.6.1 (user: drh, tags: release, branch-3.8.6, version-3.8.6.1)
03:00
[cad7f8d697] Update the version number to 3.8.6.1 (user: drh, tags: branch-3.8.6)
02:43
[674848070e] Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherry-pick of 3e922208b68563 (user: drh, tags: branch-3.8.6)
2014-10-21
21:56
[3e922208b6] Leaf: Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. (user: drh, tags: trunk)
18:16
[a27861c28c] Further tuning of the cost estimates for skip-scan loops, especially for cases when skip-scan loops are in competition with regular loops. (user: drh, tags: trunk)
16:01
[ec1e942f08] Add WHERETRACE debugging output to the whereLoopAdjustCost() routine. (user: drh, tags: trunk)
01:05
[f4b22a2620] If a skip-scan is a proper subset of some other scan, then adjust the cost of the skip-scan upward so that it is more costly than the other scan. Such a cost imbalance can arise under STAT4 because of difficulties in getting an accurate estimate for skip-scans. (user: drh, tags: trunk)
2014-10-17
21:35
[19fe4a0a47] Fix a (probably harmless) bug in the CSV output mode of the command-line shell. (user: drh, tags: trunk)
11:24
[e4ab094f8a] Version 3.8.7 (user: drh, tags: trunk, release, version-3.8.7)
2014-10-16
21:39
[06c576c152] Work around MSVC not being able to deduce that a local variable was initialized in a called function. (user: mistachkin, tags: trunk)
18:34
[1418c006e3] Changes to work around Win32 and MSVCRT APIs that are not present on Windows CE 200x. (user: mistachkin, tags: trunk)
11:45
[640345d880] Update the vdbe-compress.tcl script to account for expressions of the form (123>var), where "var" should be replaced with a reference to a union member. (user: dan, tags: trunk)
2014-10-15
15:28
[3c1e70f4d5] Update releasetest.tcl so that x86-64 runs a superset of the x86 tests. (user: dan, tags: trunk)
14:45
[b3e7b446bd] Fix a problem causing lock5.test to fail in mmap-mode. (user: dan, tags: trunk)
11:55
[9386bfca12] Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading before the beginning of an allocation. (user: drh, tags: trunk)
11:31
[4a7b3fa049] Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable. (user: dan, tags: trunk)
2014-10-14
20:25
[eab8233063] Make sure new sqlite3_vtab objects created by the xCreate() virtual table method are initialized by the system, in accordance with the documentation. (user: drh, tags: trunk)
2014-10-13
23:39
[005e5b388a] Optimize a database corruption test inside of the OP_Column opcode. (user: drh, tags: trunk)
20:12
[4b3b65ee5e] Use the padding word in the Mem object as temporary storage for serial_type value in OP_Record, and thus avoid a redundant computation of the serial_type for each column. (user: drh, tags: trunk)
17:42
[04892f8ba6] Three small optimizations to vdbeaux.c. (user: drh, tags: trunk)
16:02
[c2799aece1] Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (user: drh, tags: trunk)
13:00
[20062f4942] Remove the OPFLAG_CLEARCACHE flag from OP_Column. In its place, change the P3 parameter of OP_SorterData to be the index of the pseudo-table cursor whose record header cache is to be cleared. This gives a small size reduction and performance increase. (user: drh, tags: trunk)
2014-10-12
22:37
[91384a7d72] Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining the correct cache value uses more CPU cycles than just recomputing the rowid on the occasions when it is actually needed. Replace it with the VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType when needed. Saves 100 bytes of code space and runs 0.2% faster. (user: drh, tags: trunk)
2014-10-11
23:31
[869c30e45c] Performance optimization and very slight size reduction for OP_Column. (user: drh, tags: trunk)
17:22
[66de15580d] Simplification to the insertCell() routine in btree.c, resulting in a performance boost and a very small size decrease. It turns out that the extra work involved in sometimes avoiding an memcpy() of the first four bytes of a record takes more time than just unconditionally copying those four bytes. (user: drh, tags: trunk)
10:52
[5d29a033b0] Require the SQLITE_ENABLE_RTREE compile-time option in speedtest1.c in order to enable the R-Tree tests. (user: drh, tags: trunk)
02:12
[7a32fdfd4b] Make sure that a GROUP BY that also implements an ORDER BY scans the table in the correct order. Fix for ticket [ba7cbfaedc7e6]. (user: drh, tags: trunk)
01:22
[c5dc83ebde] Remove an unnecessary conditional from the EXPLAIN QUERY PLAN logic. (user: drh, tags: trunk)
2014-10-10
19:15
[c301245200] Restrict the scope of the explainIndexRange() function in where.c. (user: drh, tags: trunk)
19:10
[8541dfb3bb] Fix a failing test case in index5.test. Also tweak the way cache memory is divided between read-only and dirty pages when using SQLITE_CONFIG_PAGECACHE to reduce IO in some cases. (user: dan, tags: trunk)
18:09
[9ee5686ab3] Changes to enable compiling using VC6. (user: drh, tags: trunk)
17:47
[cf291cbe9f] When using the -config option to releasetest.tcl, default the testing type to "fulltest" if it is not specified on the command line. (user: drh, tags: trunk)
17:44
[d479e32be2] Provide the new "-config CONFIG" option to the test/releasetest.tcl script, which allows one to run a single test configuration selected by name. (user: drh, tags: trunk)
17:20
[daa8314fba] Add the estimated number of output rows to the EXPLAIN QUERY PLAN output if compiled with SQLITE_EXPLAIN_ESTIMATED_ROWS. This feature is off by default for the time being. (user: drh, tags: trunk)
15:47
[beea1efc3a] Simplify the code used to generate the text for EXPLAIN QUERY PLAN. (user: drh, tags: trunk)
15:01
[68e1b4de70] Fix a potential problem in the whereRangeScanEst() routine when STAT4 is active. The problem was introduced by recent enhancements. (user: drh, tags: trunk)
13:08
[177fff3b98] Cause the command-line shell to return non-zero if the final SQL statement is incomplete. (user: drh, tags: trunk)
2014-10-09
15:08
[49dfee7cd1] Allow FTS tokenizers to choose whether or not to consider the "*" character part of tokens or not. This restores the pre-e21bf7a2ad behaviour. Also fix a problem causing FTS to interpret tokens beginning with "*" characters as EOF. (user: dan, tags: trunk)
14:10
[bae36d5446] Add a test case for the memory leak fixed by the previous check-in. (user: drh, tags: trunk)
14:00
[fb8da82411] Fix a memory leak associated with the FTS4 matchinfo() function. (user: drh, tags: trunk)
2014-10-08
19:33
[42e48fd3a6] Remove an always-true branch in whereRangeScanEst(). Replace it with an assert(). (user: drh, tags: trunk)
15:53
[6483d426c4] Fix up test cases to account for the new SQLITE_LIMIT_WORKER_THREADS limit. (user: drh, tags: trunk)
14:28
[dff0f6422e] Set the connection-specific lastRowid value before calling any SQL function. (user: drh, tags: trunk)
13:34
[e4b43967fd] Ensure that the Pager.pTmpSpace allocation is correct even if an OOM error occurs while reducing the page size. (user: drh, tags: trunk)
11:11
[dedd15f7cd] Remove some temporary code in mallocA.test that was accidentally checked in. (user: dan, tags: trunk)
02:53
[e3fe840052] Fix the STAT4 range scan estimates for DESC indexes. (user: drh, tags: trunk)
00:08
[adcb3fed48] More intuitive labels on ".wheretrace" output. (user: drh, tags: trunk)
2014-10-07
23:02
[f672a380e2] Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a zero size parameter, since a size of zero could lead to either a memory leak or an assertion fault. (user: drh, tags: trunk)
20:09
[e405b9e4a9] Fix the corruptI.test script so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK and with SQLITE_DEFAULT_AUTOVACUUM=1. (user: drh, tags: trunk)
16:59
[13c962b33d] Restrict the scope of the valueToText() routine. (user: drh, tags: trunk)
15:46
[ca5b789e33] Enhance (and fix) the MEMTYPE tags associated with heap memory allocations when SQLITE_MEMDEBUG is used. (user: drh, tags: trunk)
2014-10-06
18:33
[80e1baa5c2] Remove unreachable branches in decodeIntArray() when compiling without STAT3 or STAT4. (user: drh, tags: trunk)
14:37
[3aff9a9cac] Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples. (user: dan, tags: trunk)
12:41
[418f3c9ad2] Fix a harmless compiler warning inside an assert() in FTS4. (user: drh, tags: trunk)
2014-10-04
19:31
[b8f7f19dc0] Tweaks to documentation on sqlite3_open() and sqlite3_bind(). No code changes. (user: drh, tags: trunk)
11:59
[0f8102d71a] Updates to documentation and requirements marks. No code changes. (user: drh, tags: trunk)
2014-10-03
16:00
[d2fc322728] Add requirements marks on the sqlite3_db_status() interface implementation. Fix a typo in the documentation. Fix the new sqlite3_result_text64() routine so that it works correctly with an encoding parameter of SQLITE_UTF16. (user: drh, tags: trunk)
14:54
[440705b98a] Update to requirements marks related to changes in the memory allocation interface and enhancement of the documentation regarding DEFAULT clauses in CREATE TABLE. (user: drh, tags: trunk)
2014-10-02
21:52
[ffe7573636] Avoid a NULL pointer deference when processing the IS operator if the right-hand side is an illegal "#ID" style variable. Fix for ticket [8c32a33a53092c85a15b] (user: drh, tags: trunk)
2014-10-01
13:17
[07c89940c4] Show the TK_DOT operator in the TreeView debugging output. No changes to production code. (user: drh, tags: trunk)
12:01
[c3c15d20c6] Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. (user: dan, tags: trunk)
2014-09-30
19:04
[5ce05757aa] Improvements to the new syntax-tree output routines: Omit the "END SELECT" mark and instead terminate the graph at the last item. Increase the maximum tree depth to 100. (user: drh, tags: trunk)
17:31
[b6b289182f] Enable the query planner to deal with WHERE clauses that have OR terms nested within AND terms that are nested within OR terms. Also remove an unused function declaration. (user: drh, tags: trunk)
17:03
[670993eb81] Further enhancements to the "wheretrace" debugging output. (user: drh, tags: trunk)
14:14
[2e375eae47] Enhanced debug output for OR-logic in the query loop optimizer. (user: drh, tags: trunk)
13:46
[92e0b4bd4d] Show tree diagrams of data structures in the debugging output when the 0x100 bit is set on sqlite3WhereTrace or sqlite3SelectTrace. (user: drh, tags: trunk)
12:33
[4ff51325d6] Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (user: drh, tags: trunk)
2014-09-29
15:42
[7fb1626866] Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to code. (user: drh, tags: trunk)
15:00
[414f0d6a64] Ensure that the OP_Prev opcode verifies that content has not been deleted out from under the cursor. Fix for ticket [209d31e3161b9e9ff]. (user: drh, tags: trunk)
2014-09-26
18:30
[d026f0c944] Add an assert() to verify the last-row-id for the database just prior to calling a SQL function. (user: mistachkin, tags: trunk)
02:41
[83913515830a] Fix the "PRAGMA integrity_check" command so that it avoids formatting error message context messages until it actually needs to generate an error message. This avoids much formatting, and hence greatly improves the performance of "PRAGMA integrity_check" in the common case when there are no errors. It also makes the code a little smaller. (user: drh, tags: trunk)
01:10
[e93aecc090] If an SQL function makes a recursive call to do an INSERT into the same database, make sure that the last_insert_rowid() for that INSERT is recorded. (user: drh, tags: trunk)
2014-09-25
17:42
[baeb72a356] Minor code reformatting and comment change, to improve clarity. No logic changes. (user: drh, tags: trunk)
13:17
[3467049a17] Simplifications to the SQL function and aggregate calling procedures. (user: drh, tags: trunk)
12:31
[1330c72e17] Simplification to the random rowid picking logic that begins running when the maximum possible rowid has already been used. (user: drh, tags: trunk)
11:08
[6c8924cacc] Still more performance enhancements to the LIKE and GLOB operators. (user: drh, tags: trunk)
03:51
[5ab1023d6c] More performance optimization for the LIKE and GLOB operators. (user: drh, tags: trunk)
02:44
[ef30e0352b] Change that might allow SQLite to build and work using the EBCDIC character set. (user: drh, tags: trunk)
00:56
[b2c89ef49c] Size reduction and performance improvement in the LIKE and GLOB operators. (user: drh, tags: trunk)
2014-09-24
19:47
[99323552c0] Have each open database allocate its pTmpSpace when the first write cursor is opened, rather than on each insert or delete, for a small space savings and performance boost. (user: drh, tags: trunk)
18:31
[13c746f85d] Small performance and size optimization for btreeUnlockIfUnused(). (user: drh, tags: trunk)
13:20
[1ad2bc1ed4] Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement. Ticket [78c0c8c3c9f7c1]. (user: drh, tags: trunk)
02:05
[f21d217583] Have the clearCell() routine return the cell size to the caller, rather than have the caller make a separate call to cellSizePtr(). (user: drh, tags: trunk)
01:23
[5dd41cdbfe] Shorten all lines of source code in btree.c to at most 80 characters. No logical changes. (user: drh, tags: trunk)
00:59
[8e3375313e] Add the MemPage.noPayload boolean and use it to help cellSizePtr() and btreeParseCellPtr() run faster. (user: drh, tags: trunk)
2014-09-23
23:12
[f480582cca] Remove an unused C-preprocessor macro. No functional changes to the code. (user: drh, tags: trunk)
22:36
[4147f6671e] Avoid calling btreeParseCellPtr() from within fillInCell() since most of what btreeParseCellPtr() computes is ignored by fillInCell(). Instead, have fillInCell() compute the values it needs inline. Performance improvement. (user: drh, tags: trunk)
21:25
[bf59df66b3] Simplify the CellInfo structure for a size reduction and performance improvement. (user: drh, tags: trunk)
18:30
[d2962a5f38] Add the "multiplex_truncate" PRAGMA to the multiplexor extension, for querying and setting the truncate flag on a database connection. (user: drh, tags: trunk)
01:40
[ae9a42b268] Adjust skip-scan cost estimates slightly so that a full table scan is preferred over a skip-scan to a column with only two distinct values. (user: drh, tags: trunk)
2014-09-22
20:38
[7609744014c] Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. (user: drh, tags: trunk)
19:51
[bc8bbf3207] Size reduction and substantial performance increase for cellSizePtr(). (user: drh, tags: trunk)
14:30
[41de1643bf] Tune the query planner to be more aggressive about using automatic indexes on views and subqueries for which there is not opportunity to declare a persistent schema index. (user: drh, tags: trunk)
03:22
[10a6e51049] Disable shared memory operations using the unix-nolock VFS. (user: drh, tags: trunk)
2014-09-21
22:31
[d5880abd63] Correctly handle an ORDER BY clause on an outer query when applying the compound-subquery flattening optimization. Ticket [d11a6e908f]. Also add the SQLITE_ENABLE_SELECTTRACE option for additional debugging and analysis information about select statement processing. (user: drh, tags: trunk)
2014-09-20
00:35
[59e2c9df02] Fix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main internal header file, sqliteInt.h. Set HAVE_STRCHRNUL to 1 by default on Linux only. (user: drh, tags: trunk)
2014-09-19
22:44
[544664cadf] Simplify two conditionals and add testcase() macros to the affinity transform logic in the comparison operators. (user: drh, tags: trunk)
22:30
[3b21cf2b28] Recognize the invariant that a Mem object cannot be MEM_Dyn and have a non-zero szMalloc at the same time. Enforce this with assert()s and exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance increase. (user: drh, tags: trunk)
22:01
[e996ca32cb] Tighten the conditions under which applyNumericAffinity() be called and add assert() statements to prove that it is never called otherwise. (user: drh, tags: trunk)
20:13
[3f3ca76aea] Fix the affinity on inserts into the ANALYZE tables. Change the affinity characters to be upper case, to make the P5 parameter of comparison operators easier to read. (user: drh, tags: trunk)
19:43
[3ab20ba14f] Do not attempt to extend the temp file if VFS version 3 is not supported and hence memory mapped I/O is unavailable. (user: drh, tags: trunk)
19:00
[3db78d6100] Make the "nolock" VFS on unix a version-3 VFS so that the sorter can use memory-mapped I/O. (user: drh, tags: trunk)
16:56
[6199760d13] Remove a local variable from the OP_Column implementation, resulting in a modest size reduction and a performance increase. (user: drh, tags: trunk)
16:13
[24cd32d681] Small size reduction and performance increase for releaseMemArray(). (user: drh, tags: trunk)
16:02
[9b42c3da6b] Updates to comments. No code changes. (user: drh, tags: trunk)
15:28
[36b613ccf0] The OP_Column opcode runs faster and is smaller by manually in-lining the code that persists string values in the output register. (user: drh, tags: trunk)
04:42
[987a7a2119] Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index prefilter problem. (user: drh, tags: trunk)
2014-09-18
21:25
[9c09ac353d] Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. (user: drh, tags: trunk)
18:55
[55879932116d] Correct typos in comments. No changes to code. (user: mistachkin, tags: trunk)
17:52
[4c8c89d7e6] Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. (user: drh, tags: trunk)
16:28
[d7afdcbac2] Performance improvement for affinity transformations on comparison operators. (user: drh, tags: trunk)
14:36
[4ef4c9a7c8] Since numeric affinity is the most common case, check it first. Interchange the NONE and TEXT affinity codes for easier checking of no affinity. (user: drh, tags: trunk)
09:59
[3bd7c1b2fa] Modify an assert() within sqlite3PagerWalFramesize(), a function only ever used by zipvfs, to account for recent zipvfs changes. (user: dan, tags: trunk)
02:20
[5192f964b2] Fix harmless warnings on 32-bit MSVC builds. (user: drh, tags: trunk)
01:50
[ef1aa10b7f] Make sure of the strchrnul() library function on platforms where it is available. (user: drh, tags: trunk)
01:29
[1de558bcb1] Merge micro-optimizations into trunk after fixing the build on MSVC. Performance now shows 7.58% faster than the 3.8.6 release on x64 with gcc 4.8.1 and -Os. (user: drh, tags: trunk)
2014-09-16
13:30
[8fb90da77c] Changes to sqlite3VdbeRecordUnpack() to make it slightly smaller and faster. (user: drh, tags: trunk)
03:24
[20ed2321b0] Performance improvement to the sqlite3MemCompare() routine by factoring out sqlite3BlobCompare(). (user: drh, tags: trunk)
2014-09-15
16:53
[4060efb646] Fix tool/showwal.c so that it handles WAL files that contain 64KiB pages. (user: dan, tags: trunk)
16:50
[dedaa6fb3d] Avoid attempting to call the xFetch() method of an sqlite3_io_methods object with a version number less than 3. (user: dan, tags: trunk)
14:59
[69a6456077] Remove the EXPENSIVE_ASSERTS in pcache.c having to do with the pSynced field of the Pcache object, as they are incorrect, as revealed by recent pcache enhancements. (user: drh, tags: trunk)
14:46
[0bdf1a086b] Do not flatten aggregate subqueries that contain min() or max() functions so that if the min()/max() are discarded by the outer query, they still function and cause non-aggregate expression to be evaluated on the minimal or maximal row. (user: drh, tags: trunk)
11:14
[4ff0eb96bc] Adjust comments to show that subquery flattening restriction (10) was removed from the code back in 2005. This is a comment change only. (user: drh, tags: trunk)
2014-09-12
20:30
[b332a84d51] Small performance improvement to the dirty list handling in the pager. (user: drh, tags: trunk)
17:41
[320556233e] Simplify the way the column cache is managed around OP_Move instructions. (user: drh, tags: trunk)
04:28
[2f69a1fa6a] Fix a problem with parser memory allocation on 32-bit systems. (user: drh, tags: trunk)
2014-09-11
23:34
[34292b084e] Fix an issue with sqlite3_bind_text64() with the SQLITE_UTF16 encoding parameter. Remove some unreachable code from the text64() and blob64() implementation. (user: drh, tags: trunk)
18:44
[7e4978c003] Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(), sqlite3_result_blob64(), and sqlite3_result_text64(). Add the sqlite3_msize() interface. Internal memory allocation routines now use 64-bit unsigned length parameters for safety. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (user: drh, tags: trunk)
17:27
[65884d4f81] Add the SQLITE_USER_AUTHENTICATION extension to the trunk. This extension is disabled by default. Special compilation procedures are need to enable it. (user: drh, tags: trunk)
2014-09-06
17:06
[ad7063aa1a] Fixes to os_unix.c to support database (and other) files larger than 2GiB on Android. (user: dan, tags: trunk)
16:39
[e62aab5e92] Fix typos in comments. No code changes. (user: peter.d.reid, tags: trunk)
03:38
[4d4fb197dc] Do not record a page-size change if the attempt to change the page size failed due to an OOM error. (user: drh, tags: trunk)
03:16
[27e3ca3e0f] Add the sqlite3_memdebug_title_count global variable, used during debugging to count the number of invocations of test_memdebug_settitle. By examining this variable in the debugger after a segfault, one can then set a breakpoint on test_memdebug_settitle that will fire just before the problem. (user: drh, tags: trunk)
02:00
[a758465e3c] Fix a couple of typos in comments. No changes to code. (user: mistachkin, tags: trunk)
01:35
[73954f93c4] Query planner heuristic update: When doing a full table scan on a table that has an equality constraint on an unindexed column, do not allow the estimated number of output rows to be greater than half the total number of rows in the table. (user: drh, tags: trunk)
2014-09-05
05:58
[733119067757814609a] Fix harmless compiler warning. (user: mistachkin, tags: trunk)
2014-09-01
23:06
[9779c7a9eb] Update comments in the ANALYZE command that describe how the Stat4Accum objecct is passed around within the VDBE. No changes to functional code. (user: drh, tags: trunk)
22:34
[4cae93f8ae] Avoid a confusing (though correct) argument to the sqlite3_result_blob() function in the implementation of ANALYZE. (user: drh, tags: trunk)
19:29
[be0a037244] For sqlite3_win32_is_nt(), assume WinRT is NT-based and revise #ifdef ordering to prefer the ANSI version of GetVersionEx, when available. (user: mistachkin, tags: trunk)
18:21
[672e7387b1] Tweak the documentation for SQLITE_LIMIT_WORKER_THREADS. No changes to executable code. (user: drh, tags: trunk)
17:36
[b1c0f0bc1b] Add support for using separate worker threads to speed large sorts. The SQLITE_MAX_WORKER_THREADS and SQLITE_DEFAULT_WORKER_THREADS compile-time options and the SQLITE_LIMIT_WORKER_THREADS argument to sqlite3_limit() and the "PRAGMA threads=N" pragma are added. (user: drh, tags: trunk)
13:37
[b0f6b91f36] Attempt to make the xDelete method of the unix VFS more robust on VxWorks. (user: drh, tags: trunk)
13:29
[839c7996ee] Micro-optimizations in sqlite3BtreeNext() and sqlite3BtreePrevious(). (user: drh, tags: trunk)
01:16
[3ef3246120] Fix harmless compiler warnings for MSVC. (user: mistachkin, tags: trunk)
2014-08-30
15:49
[f61db04be4] In the command-line shell, added options --lookaside, --pagecache, and --scratch used to configure auxiliary memories. (user: drh, tags: trunk)
2014-08-29
14:20
[2a74129a21] Note a fault after all, rather a testing mistake. Move this change back to trunk. Was: Avoid an unnecessary OP_Move operation for expression subqueries. (user: drh, tags: trunk)
2014-08-28
19:38
[fdd478bb11] Improved WHERETRACE messages for the estimated output row reductions from range scans. (user: drh, tags: trunk)
17:30
[a9daf3ac44] Fix a problem causing an inaccurate stat4-based estimate for the number of rows visited by a range scan. (user: drh, tags: trunk)
13:42
[c931ca2b77] Fix a formatting error ("%d" needed in place of "%g") on a WHERETRACE macro inside of the query planner. This fix applies to debugging logic only. (user: drh, tags: trunk)
2014-08-27
23:18
[bdb6e4978d] Refactor the sqlite3PcacheFetch() routine into three separate routines, which are significantly faster overall and about 100 bytes smaller in size as well. (user: drh, tags: trunk)
17:53
[029a6dc744] Add a VDBE synopsis comment for clarification. (user: mistachkin, tags: trunk)
17:48
[d8b1c43361] Add a missing ticket number to a comment in index7.test. (user: dan, tags: trunk)
17:37
[fcebca166f] When determining whether or not a partial index is usable, do not assume that the cursor number assigned to each table in the query is the same as its index in the FROM clause. Fix for ticket [98d973b8f5]. (user: dan, tags: trunk)
14:14
[6c1ee3e388] In the sqlite3_context object, keep a pointer to the result value rather than storing the result value in the sqlite3_context object and using memcpy() to move the value back into its register after the function returns. This runs faster and saves over 500 bytes of code space. (user: drh, tags: trunk)
03:28
[1624916c6e] Factor out the exception paths from sqlite3ValueToText() into a separate function so that the main routine is much faster for the common case of no required type or encoding conversions. (user: drh, tags: trunk)
00:50
[f94cacc393] Performance enhancement in sqlite3VdbeMemNulTerminate(). (user: drh, tags: trunk)
2014-08-26
15:06
[f1f94a971e] Change the page cache so that a new sqlite3_pcache object is allocated as soon as the page cache is opened, not delayed until the first fetch request. This give a noticable performance boost. The interface between pager and the page cache has changed slightly, which might break ZIPVFS. (user: drh, tags: trunk)
2014-08-25
22:37
[af364cce9d] Add an assert() and five testcase() macros to the OP_Cast opcode implementation to help verify that it is fully tested. (user: drh, tags: trunk)
21:11
[1ad70ec550] Minor changes to the CAST logic to make it more testable. (user: drh, tags: trunk)
20:21
[42505e5a81] Test cases added for using unary "+" and CAST operators on the RHS of range constraints and verifying that STAT3/4 can use those constraints. (user: drh, tags: trunk)
20:11
[91d8a8d0b7] Allow CAST expressions and unary "+" operators to be used in the DEFAULT argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of range constraints interpreted by STAT3/4. This involves a rewrite of the implementation of the CAST operator. (user: drh, tags: trunk)
18:29
[e06dc6f0c3] In cases where stat4 data is available but cannot be used because the rhs of a range constraint is too complex a expression, fall back to using the default estimates for number of rows scanned. (user: dan, tags: trunk)
11:33
[54164ce47c] Remove the pager_lookup() function since it is redundant with sqlite3PagerLookup(). (user: drh, tags: trunk)
11:20
[3ca5846da7] Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to more accurately reflect what it does. Performance enhancement to the sqlite3VdbeMemRelease() function. (user: drh, tags: trunk)
2014-08-24
02:53
[0c7e1b875a] The sqlite3VdbeChangeEncoding() routine goes about 3x faster if the sqlite3VdbeMemTranslate() subroutine is not inlined. (user: drh, tags: trunk)
01:32
[c63311e2f3] Patch the sqlite3PagerWrite() method in the Pager to run a bit faster. (user: drh, tags: trunk)
2014-08-23
23:15
[0371cc3bb0] Faster implementation of pcache1Fetch() (user: drh, tags: trunk)
20:25
[bd41d394d4] Faster implementation of the sqlite3ApiExit() routine. (user: drh, tags: trunk)
19:42
[6da6f46d0c] Another memory allocator performance optimization. (user: drh, tags: trunk)
19:08
[45abd5c0ba] Fix a variable-declaration after code problem in btree.c. Harmless in GCC and CLANG but unacceptable for MSVC. (user: drh, tags: trunk)
19:04
[f83daa16f6] Changes to sqlite3ScratchMalloc() that make the entire memory allocation interface a little faster and about 100 bytes smaller. (user: drh, tags: trunk)
18:17
[802148f311] Make the implementation of the sqlite3_aggregate_context() interface faster for second an subsequent invocations. This helps all aggregate functions to perform better. (user: drh, tags: trunk)
17:41
[0c0a603950] Improved performance in the type handling of arithmetic operators in the VDBE. (user: drh, tags: trunk)
17:21
[25f2246be4] Performance optimization in the applyAffinity() logic inside the VDBE. (user: drh, tags: trunk)
2014-08-22
23:33
[ce123b5c59] Another performance tweak: Split the sqlite3BtreeCursorHasMoved() routine into two with the second routine named sqlite3BtreeCursorRestore(). The first now only reports whether or not the cursor has moved and the second tries to restore the cursor. This allows the sqlite3VdbeCursorMoveto() routine to be refactored to avoid stack pointer movements, for a noticable performance gain. (user: drh, tags: trunk)
22:26
[3eb0843903] Factor the saveAllCursors() routine of btree.c into two separate routines, for a noticable performance improvement. (user: drh, tags: trunk)
21:58
[8914530644f] Performance enhancements in the b-tree mutex logic. (user: drh, tags: trunk)
20:35
[6bcf1af6a4] Combine the pcacheAddToDirtyList() and pcacheRemoveFromDirtyList() routines into a single pcacheManageDirtyList() routine. The resulting binary code is slightly faster and a few bytes smaller. (user: drh, tags: trunk)
18:48
[a929be5519] Performance enhancement in sqlite3PutVarint(). (user: drh, tags: trunk)
18:00
[cf561d1f0b] Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. (user: drh, tags: trunk)
15:40
[f7f2160db0] Performance improvement in the printf() logic by avoiding unnecessary stack pointer movement. (user: drh, tags: trunk)
15:19
[ebc10e46c1] Improve the performance and reduce the size of the sqlite3VdbeSerialGet() routine by avoiding the use of stack. (user: drh, tags: trunk)
13:22
[750bb0a096] Change a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small size reduction and performance improvement. (user: drh, tags: trunk)
11:11
[369c480cda] Enhance the spellfix extension with the ability to specify a rowid when inserting new rows. (user: drh, tags: trunk)
2014-08-21
20:26
[14b0f561fe] Simplify the interface to the symbol table, saving 600 bytes of code space. (user: drh, tags: trunk)
14:10
[7029b3404d] Fix a faulty assert() statement. Add comments to clarify the behavior of the sqlite3OpenTableAndIndices() routine in insert.c. Add test cases to verify that the assert() statement is not firing inappropriately. Ticket [369d57fb8e5ccdff06f1]. (user: drh, tags: trunk)
2014-08-20
23:42
[91594aae07] Increase the version number to 3.8.7 (user: drh, tags: trunk)
23:38
[bc985caa78] Enhancements to skip-scan such that it is operable when a middle column of an index is skipped while the left-most column is constrained in the WHERE clause. (user: drh, tags: trunk)
18:43
[49f44d355f] A small performance improvement in freeSpace() by special-casing the relatively common case of an empty freelist. (user: drh, tags: trunk)
17:56
[fe4fd014b4] Reimplement the freeSpace() routine in btree.c so that it runs faster. (user: drh, tags: trunk)
14:37
[7e63089a19] Refactor local variable names in the freeSpace() routine of btree.c for improved understandability. (user: drh, tags: trunk)
13:35
[121308fa86] Size reduction and performance improvements in btree.c and the allocateSpace() routine. Also fix an assert() in freeSpace(). (user: drh, tags: trunk)
13:25
[eea0661798] Add SQLITE_API macros in front of interface routines in the test_intarray.c extension. (user: drh, tags: trunk)
10:42
[6c66beae97] Fix a typo in the showdb usage message. (user: dan, tags: trunk)
00:54
[73637d12e3] Minor performance improvement and size reduction for the btree-page space allocator. (user: drh, tags: trunk)
2014-08-19
23:04
[d280157da0] Modify the memsubsys1-3.1.4 test so that it does not fail arbitrarily due to variations in the behavior of system malloc(). (user: drh, tags: trunk)
20:41
[44d5bd4cc3] A better fix for the sqlite3_trace() problem. Ticket [11d5aa455e0d98f3c1e6a] (user: drh, tags: trunk)
20:27
[0d4d3df4bc] Make sure the sqlite3_trace() callback is invoked, even if the prepared statement was marked "expired" before it ever entered sqlite3_step(). Ticket [11d5aa455e0d98f3c1e6a08]. (user: drh, tags: trunk)
19:28
[d09d63c077] Improvements to output formatting with the ".trace" command in the command-line shell. (user: drh, tags: trunk)
09:15
[f10a611126] Minor changes to do with the Tcl tea extension package autoconf system. (user: dan, tags: trunk)
2014-08-18
13:45
[11a70e1ae7] Refactor the names of state objects in the command-line shell implementation.. (user: drh, tags: trunk)
2014-08-15
16:13
[28a379fcd4] Fix compiler warnings on WinCE. (user: drh, tags: trunk)
11:46
[9491ba7d73] Version 3.8.6 (user: drh, tags: trunk, release, version-3.8.6)