SQLite

Timeline
Login

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

100 ancestors of c63311e2f3344363

2014-08-24
01:32
Patch the sqlite3PagerWrite() method in the Pager to run a bit faster. (check-in: c63311e2 user: drh tags: trunk)
2014-08-23
23:15
Faster implementation of pcache1Fetch() (check-in: 0371cc3b user: drh tags: trunk)
20:25
Faster implementation of the sqlite3ApiExit() routine. (check-in: bd41d394 user: drh tags: trunk)
19:42
Another memory allocator performance optimization. (check-in: 6da6f46d user: drh tags: trunk)
19:08
Fix a variable-declaration after code problem in btree.c. Harmless in GCC and CLANG but unacceptable for MSVC. (check-in: 45abd5c0 user: drh tags: trunk)
19:04
Changes to sqlite3ScratchMalloc() that make the entire memory allocation interface a little faster and about 100 bytes smaller. (check-in: f83daa16 user: drh tags: trunk)
18:17
Make the implementation of the sqlite3_aggregate_context() interface faster for second an subsequent invocations. This helps all aggregate functions to perform better. (check-in: 802148f3 user: drh tags: trunk)
17:41
Improved performance in the type handling of arithmetic operators in the VDBE. (check-in: 0c0a6039 user: drh tags: trunk)
17:21
Performance optimization in the applyAffinity() logic inside the VDBE. (check-in: 25f2246b user: drh tags: trunk)
2014-08-22
23:33
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. (check-in: ce123b5c user: drh tags: trunk)
22:26
Factor the saveAllCursors() routine of btree.c into two separate routines, for a noticable performance improvement. (check-in: 3eb08439 user: drh tags: trunk)
21:58
Performance enhancements in the b-tree mutex logic. (check-in: 89145306 user: drh tags: trunk)
20:35
Combine the pcacheAddToDirtyList() and pcacheRemoveFromDirtyList() routines into a single pcacheManageDirtyList() routine. The resulting binary code is slightly faster and a few bytes smaller. (check-in: 6bcf1af6 user: drh tags: trunk)
18:48
Performance enhancement in sqlite3PutVarint(). (check-in: a929be55 user: drh tags: trunk)
18:00
Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. (check-in: cf561d1f user: drh tags: trunk)
15:40
Performance improvement in the printf() logic by avoiding unnecessary stack pointer movement. (check-in: f7f2160d user: drh tags: trunk)
15:19
Improve the performance and reduce the size of the sqlite3VdbeSerialGet() routine by avoiding the use of stack. (check-in: ebc10e46 user: drh tags: trunk)
14:56
Handle the 4-byte integer case in the stackless routine. (Closed-Leaf check-in: 3f55484e user: drh tags: experimental)
14:34
Get the sqlite3VdbeSerialGet() routine to run faster by avoiding the use of local variables. (check-in: 8267d821 user: drh tags: experimental)
13:22
Change a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small size reduction and performance improvement. (check-in: 750bb0a0 user: drh tags: trunk)
11:11
Enhance the spellfix extension with the ability to specify a rowid when inserting new rows. (check-in: 369c480c user: drh tags: trunk)
2014-08-21
20:26
Simplify the interface to the symbol table, saving 600 bytes of code space. (check-in: 14b0f561 user: drh tags: trunk)
14:10
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]. (check-in: 7029b340 user: drh tags: trunk)
2014-08-20
23:42
Increase the version number to 3.8.7 (check-in: 91594aae user: drh tags: trunk)
23:38
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. (check-in: bc985caa user: drh tags: trunk)
18:43
A small performance improvement in freeSpace() by special-casing the relatively common case of an empty freelist. (check-in: 49f44d35 user: drh tags: trunk)
17:56
Reimplement the freeSpace() routine in btree.c so that it runs faster. (check-in: fe4fd014 user: drh tags: trunk)
14:37
Refactor local variable names in the freeSpace() routine of btree.c for improved understandability. (check-in: 7e63089a user: drh tags: trunk)
13:35
Size reduction and performance improvements in btree.c and the allocateSpace() routine. Also fix an assert() in freeSpace(). (check-in: 121308fa user: drh tags: trunk)
13:25
Add SQLITE_API macros in front of interface routines in the test_intarray.c extension. (check-in: eea06617 user: drh tags: trunk)
13:17
Change an assert() added by the previous commit into a testcase(). Fix a separate assert() in btree.c:freeSpace(). (Closed-Leaf check-in: fe51d3aa user: drh tags: btree-speedup)
11:56
Further size reduction and performance improvement in btree.c:allocateSpace(). (check-in: 1cb1cd64 user: drh tags: btree-speedup)
10:42
Fix a typo in the showdb usage message. (check-in: 6c66beae user: dan tags: trunk)
00:54
Minor performance improvement and size reduction for the btree-page space allocator. (check-in: 73637d12 user: drh tags: trunk)
2014-08-19
23:04
Modify the memsubsys1-3.1.4 test so that it does not fail arbitrarily due to variations in the behavior of system malloc(). (check-in: d280157d user: drh tags: trunk)
20:41
A better fix for the sqlite3_trace() problem. Ticket [11d5aa455e0d98f3c1e6a] (check-in: 44d5bd4c user: drh tags: trunk)
20:27
Make sure the sqlite3_trace() callback is invoked, even if the prepared statement was marked "expired" before it ever entered sqlite3_step(). Ticket [11d5aa455e0d98f3c1e6a08]. (check-in: 0d4d3df4 user: drh tags: trunk)
19:28
Improvements to output formatting with the ".trace" command in the command-line shell. (check-in: d09d63c0 user: drh tags: trunk)
09:15
Minor changes to do with the Tcl tea extension package autoconf system. (check-in: f10a6111 user: dan tags: trunk)
2014-08-18
13:45
Refactor the names of state objects in the command-line shell implementation.. (check-in: 11a70e1a user: drh tags: trunk)
2014-08-15
16:13
Fix compiler warnings on WinCE. (check-in: 28a379fc user: drh tags: trunk)
11:46
Version 3.8.6 (check-in: 9491ba7d user: drh tags: trunk, release, version-3.8.6)
2014-08-14
19:53
Fix an assert that can fail if the database file is corrupted. (check-in: 3f45b819 user: dan tags: trunk)
18:31
Fix compiler warnings on WinCE. (Closed-Leaf check-in: cc910b8e user: mistachkin tags: winCeWarn)
13:06
Fix typos in comments used to help generate documentation. No changes to code. (check-in: 13a2d90a user: drh tags: trunk)
02:59
Add icon to the Windows shell executable. This is a resource change only, no changes to code. (check-in: f5cce9db user: mistachkin tags: trunk)
2014-08-13
11:39
Minor change to unixDelete for VxWorks with a DOS filesystem. (check-in: f01d42cc user: drh tags: trunk)
2014-08-12
20:13
Fix where9.test so that it works with the "no_optimization" permutation. (check-in: d46adf9d user: dan tags: trunk)
16:13
Fix compilation issue in the Win32 VFS when manually defining SQLITE_WIN32_NO_ANSI. (check-in: 67159912 user: mistachkin tags: trunk)
14:29
Improve the comments associated with SQLITE_TEST_REALLOC_STRESS and add an extra assert() to prove an assumption. (check-in: 35c45461 user: drh tags: trunk)
14:06
Run a test with TEST_REALLOC_STRESS and OMIT_LOOKASIDE defined as part of releasetest.tcl on Linux/x86-64. (check-in: a1baf3a7 user: dan tags: trunk)
13:38
If SQLITE_TEST_REALLOC_STRESS is defined, extend the op-code array used by virtual-machine programs by one element at a time, instead of doubling its size with each realloc(). (check-in: 4c291827 user: dan tags: trunk)
12:19
Fix typos in the VxWorks code of os_unix.c. (check-in: 19682e8f user: drh tags: trunk)
09:36
Add a test to ensure that the problem fixed by [a179e41e40] does not recur. (check-in: 31356f2c user: dan tags: trunk)
01:23
Fix an assert() statement in the SELECT code generator that was incorrect following an OOM error. (check-in: a179e41e user: drh tags: trunk)
2014-08-11
17:51
Modify GetVersionEx Win32 VFS fix for use with the test suite. (check-in: fd222176 user: mistachkin tags: trunk)
17:41
Further clarification and typo fixes for the previous comment change. (check-in: 87ef9e2f user: drh tags: trunk)
17:40
Clarify the comment explaining the meaning of the SQLITE_WIN32_GETVERSIONEX macro in the Windows VFS. (check-in: 69714287 user: drh tags: trunk)
17:38
Fix for #ifdef issue with GetVersionEx in the Win32 VFS. (check-in: 1a0d466d user: mistachkin tags: trunk)
17:37
Add a few more requirements tests. (check-in: b5652439 user: drh tags: trunk)
15:54
Updates to evidence marks and requirements. No changes to code. (check-in: 62d38308 user: drh tags: trunk)
14:21
Fix harmless compiler warnings. (check-in: 52b03f04 user: drh tags: trunk)
13:53
Changes that will perhaps enable SQLite to work better on VxWorks. (check-in: de27c742 user: drh tags: trunk)
2014-08-08
18:26
Update requirements marks. No changes to code. (check-in: 7556bd9a user: drh tags: trunk)
17:49
Improvements to the way the query planner handles sorting costs, so that very large sorting costs do not overwhelm the loop costs. (check-in: bdaa6947 user: drh tags: trunk)
17:25
Fix a buffer overrun in the previous commit. (Closed-Leaf check-in: 43c59c85 user: dan tags: query-planner-fix)
16:52
Because SQLite internally calculates query plan costs using a logarithmic scale, very large estimated sorting costs can cause all other estimated costs to be rounded down to zero. In these cases break ties between plans with the same total cost by comparing the costs with sorting excluded. This is an alternative fix for the problem addressed by [2af630c572]. (check-in: 299b9570 user: dan tags: query-planner-fix)
15:38
The SQLITE_IOERR_BLOCKED extended error code is not longer used, so remove assert() statements and documentation for that error code. Also make other documentation improvements. (check-in: 36b7c5ce user: drh tags: trunk)
12:51
Reworking the documentation on integer result codes. This is a comment and documentation change only. There are no changes to code. (check-in: 54f1df7b user: drh tags: trunk)
2014-08-07
20:42
When the estimated sorting cost overwhelms the estimated lookup cost, ensure that lookup costs are still taken into account when selecting a lookup algorithm. (check-in: 2af630c5 user: drh tags: trunk)
20:37
Clarify the computation of compatible isOrdered by in the plan solver of the query planner. (Closed-Leaf check-in: b5e8fd57 user: drh tags: query-planner-fix)
20:25
Remove the extraneous debugging printf() from the previous check-in. (check-in: 8f04d2c0 user: drh tags: query-planner-fix)
16:50
Oops! This check-in was on trunk. But it contains a debugging printf(). Original comment: When the estimated cost to do a sort overwhelms the estimated cost to do individual table lookups, make sure that the table lookup costs are still taken into consideration when selecting the lookup algorithm. (check-in: ec5d84ba user: drh tags: query-planner-fix)
2014-08-06
18:50
A couple more harmless compiler warnings eliminated. (check-in: bcf6d775 user: drh tags: trunk)
17:49
Fix two more harmless compiler warnings. Make sure the fts3_unicode2.c file is in sync with mkunicode.tcl. (check-in: a2a60307 user: drh tags: trunk)
14:36
Fix harmless compiler warnings. In the command-line shell, report if the ".system" command returns a non-zero result. (check-in: 1202e977 user: drh tags: trunk)
11:58
Fix an obsolete comment in the func.c source file. No changes to code. (check-in: 5c6bb57d user: drh tags: trunk)
11:57
On the windows VFS, do not try to make InterlockedCompareExchange an overloadable function, since sometimes it is a macro. (check-in: ab1a751e user: drh tags: trunk)
11:49
Fix an obsolete comment in the func.c source file. No changes to code. (check-in: 7a145c94 user: drh tags: sessions)
03:06
In the Win32 VFS, work around InterlockedCompareExchange() being a macro on some platforms (e.g. x64). (check-in: 7be244ce user: mistachkin tags: trunk)
01:08
Fix typos in the opcode documentation. Comment changes only. No changes to code. (check-in: 717245d4 user: drh tags: trunk)
00:29
A simpler fix for ticket [3a88d85f36704eebe1] - one that uses less code. The error message is not quite as good, but as this error has apparently not previously occurred in over 8 years of heavy use, that is not seen as a serious problem. (check-in: 0ad1ed8e user: drh tags: trunk)
2014-08-05
21:31
Ensure that aggregate functions are not used when evaluating a default value for a table column. Candidate fix for ticket [3a88d85f36704eebe134f7]. (check-in: 29ba8128 user: drh tags: trunk)
19:16
Add the ability to evaluate IN operators as a sequence of comparisons as an alternative to the long-standing algorithm of building a lookup table. Use the new implementation in circumstances where it is likely to be faster, such as when the RHS of the IN changes between successive evaluations. (check-in: 95286821 user: drh tags: trunk)
11:04
Rename the internal Schema.flags field to Schema.schemaFlags. (check-in: 5ae80b3c user: drh tags: trunk)
00:53
Improved VdbeCoverage() macros. A few minor simplifications to generated VDBE code. (Closed-Leaf check-in: 01f60027 user: drh tags: IN-operator-improvements)
2014-08-04
21:26
Part of the change in the previous check-in was incorrect and can result in an incorrect UPDATE for WITHOUT ROWID tables. This check-in fixes the problem. (check-in: ee5f6eae user: drh tags: IN-operator-improvements)
18:50
Further enhancements to IN-operator processing. (check-in: 7fdf26da user: drh tags: IN-operator-improvements)
16:39
Refinements to the enhanced IN-operator logic. (check-in: 92ba2821 user: drh tags: IN-operator-improvements)
2014-08-02
21:03
Enhancements to the code generator for the IN operator that result in much faster queries in some cases, for example when the RHS of the IN operator changes for each row of a large table scan. (check-in: 436e8842 user: drh tags: IN-operator-improvements)
20:44
Remove (newly) incorrect preprocessor check to fix build on WinRT. (check-in: ba782654 user: mistachkin tags: trunk)
2014-08-01
21:12
A better comment on the generated code for the NULL-in-RHS-of-IN detection logic. (check-in: 9bc1c730 user: drh tags: trunk)
21:00
Improved detection and handling of NULL values on the RHS of a IN operator. (check-in: 468e7300 user: drh tags: trunk)
18:00
Remove an unnecessary OP_Null in the IN-operator logic. Attempt to clarify comments explaining the IN-operator code, though it is not clear that the comments are correct even yet - more work to be done. (check-in: c11e55fa user: drh tags: trunk)
15:51
Clean up the IN operator code generation logic to make it easier to reason about. In the process, improve code generation to omit some unused OP_Null operations. (check-in: 7c6fbcfe user: drh tags: trunk)
15:34
The idea of coding IN operator with a short list on the RHS as an OR expression turns out to be helpful. If the list is of length 1 or 2, the OR expression is very slightly faster, but the ephemeral table approach is clearly better for all list lengths greater than 2. Better to keep the code simple. (Closed-Leaf check-in: e13175d3 user: drh tags: IN-operator-improvements)
14:46
Begin making changes to the IN operator in an attempt to make it run faster and to make the code easier to understand. (check-in: ee0fd6aa user: drh tags: IN-operator-improvements)
01:40
Enhance the PRAGMA integrity_check command to detect UNIQUE and NOT NULL constraint violations. (check-in: 9abcf269 user: drh tags: trunk)
2014-07-31
22:59
Refactoring: Change "pIndex->onError!=OE_None" to use a macro: "IsUniqueIndex(pIndex)". Easier to understand that way. (check-in: e75b26ee user: drh tags: trunk)
20:16
Omit a pointless OP_Null when processing a value-list RHS of an IN operator where the LHS is a rowid. (check-in: 1361450a user: drh tags: trunk)
18:54
Optimizations to the OS sub-type checking in the Win32 VFS. (check-in: 1e5489fa user: mistachkin tags: trunk)