SQLite

Timeline
Login

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

46 check-ins using file src/pager.c version 9c59818c

2012-10-03
20:20
Add experimental sqlite3_reconfig() interface to more fully support the SQLITE_CONFIG_READONLY option. (check-in: 9dc2eaa6 user: mistachkin tags: configReadOnly)
2012-09-29
19:10
Improved ORDER BY optimization when outer loops of a join return a single row. (check-in: 62225b4a user: drh tags: trunk)
15:45
Disable the bigfile tests on Macs. (check-in: d869edda user: drh tags: trunk)
14:45
Fix compiler warnings found on Lion. (check-in: fd74d3d9 user: drh tags: trunk)
2012-09-28
20:23
Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use. (check-in: 89b8c377 user: dan tags: trunk)
18:13
Modify the clearCell function to use SQLITE_CORRUPT_BKPT in the one place it was not. (check-in: 472beb30 user: mistachkin tags: trunk)
13:05
Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the ORDER BY query planner optimizations) into the sessions branch. (check-in: 6ca8eae1 user: drh tags: sessions)
00:44
Query planner enhancements to be more agressive about optimizing out ORDER BY clauses - in particular the query planner now has the ability to omit ORDER BY clauses that span multiple tables in a join. (check-in: 1e874629 user: drh tags: trunk)
2012-09-27
23:27
Fix some corner case behavior in the new ORDER BY optimization logic. Remove the SQLITE_OrderByIdx bit from the SQLITE_TESTCTRL_OPTIMIZATIONS mask, since enabling it caused many TH3 tests to fail when the NO_OPT configuration parameter was engaged, and since there really isn't any need to turn that optimization off. The SQLITE_OrderByIdxJoin bit remains. (Closed-Leaf check-in: 98b63371 user: drh tags: qp-enhancements)
21:03
Modify generation of resource header file for MSVC so that it can work from outside the working directory. (check-in: 20caf80c user: mistachkin tags: trunk)
19:53
More test cases an bug fixes for the ORDER BY optimization of joins. All veryquick tests now pass. (check-in: 0d573320 user: drh tags: qp-enhancements)
17:31
Test cases and bug fixes applied to the ORDER BY optimization for joins. Some test cases fail, but except for the new orderby1.test failures, all failures appear to be issues with the tests, not with the core code. (check-in: 75cda864 user: drh tags: qp-enhancements)
15:05
Add more bits to the bit vector that is used to disable optimizations for built-in test. Add specific bit patterns to disable ORDER BY using an index in general and for joins. Use macros to test for bits in the disabled-optimization bit vector, in order to make the code clearer. (check-in: d2fcba1e user: drh tags: qp-enhancements)
14:11
Enable ORDER BY clauses that span joins to be optimized out. (check-in: c29538f9 user: drh tags: qp-enhancements)
12:11
Merge the "PRAGMA busy_timeout" change into trunk. (check-in: 1a679a1e user: drh tags: trunk)
12:05
Further tweaks to the query planner logic in preparation for adding ORDER BY opt-out for joins. (check-in: 53efc10a user: drh tags: qp-enhancements)
2012-09-26
23:17
Further refactoring of the ORDER BY related query-planning logic in order to make it easier to extend to support optimizing out ORDER BY on joins. No actual behavior changes, yet. (check-in: 96496dda user: drh tags: qp-enhancements)
2012-09-25
20:43
Augment the WhereBestIdx structure to pass down into the query planner information that might be used to better detect ORDER BY and DISTINCT optimizations spanning multiple tables of a join. (check-in: 4226e51f user: drh tags: qp-enhancements)
14:29
Pass information around between the major routines of the query planner using a single pointer to a structure rather than a long list of parameters. (check-in: 1104d42e user: drh tags: qp-enhancements)
12:45
Merge updates from trunk. (check-in: 4a470741 user: mistachkin tags: configReadOnly)
2012-09-24
19:50
Remove an unused subfunction parameter and an obsolete comment from the query planner logic in where.c. (check-in: 349a55cd user: drh tags: trunk)
15:30
Change the internal sqlite3WhereBegin() to report that the ORDER BY clause is satisfied by indices using the WhereInfo.nOBSat field of the returned structure. (check-in: 22989f35 user: drh tags: trunk)
11:43
Update documentation to describe the threadsafety of sqlite3_enable_shared_cache(). (check-in: e081890c user: drh tags: trunk)
2012-09-21
22:50
Enable query planner tracing using the new (and undocumented) ".wheretrace 1" command in the command-line shell if both the shell and the core are compiled with SQLITE_DEBUG and SQLITE_ENABLE_WHERETRACE. This is not a supported API. Use for testing and debugging only. (check-in: 1be4b16b user: drh tags: trunk)
13:40
Command-line shell enhancements: Added the ".print" command. Enhanced the ".width" command so that negative widths will right-justify. (check-in: a1d8269d user: drh tags: trunk)
00:04
Consolidate more of the DISTINCT processing logic into a single spot in the code. Reduce the number of OP_Column operations needed to perform a WHERE_DISTINCT_ORDERED. (check-in: 79e922f7 user: drh tags: trunk)
2012-09-20
15:41
Continuing incremental enhancements of SELECT code generation: Remove the Select.affinity field. Use SelectDest.affSdst instead. (check-in: cf40b7b5 user: drh tags: trunk)
14:26
Refactoring of DISTINCT code. Change the name of the local variable "distinct" to "distinctTab". Generate cleaner code w/o unnecessary P4 and P5 values on the OP_Null for WHERE_DISTINCT_ORDERED. (check-in: 0cda241a user: drh tags: trunk)
2012-09-19
21:15
Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword handling. (check-in: 94b48064 user: drh tags: trunk)
17:31
Add comments to the WHERE_DISTINCT_* macros. No changes to code. (check-in: 82320501 user: drh tags: trunk)
00:35
Merge the covering-index-scan optimization into trunk. (check-in: ddd5d789 user: drh tags: trunk)
2012-09-18
23:21
Silence harmless compiler warning seen with SQLITE_OMIT_DEPRECATED. (check-in: c5cee969 user: mistachkin tags: trunk)
19:29
Enhance IN processing to allow efficient use of indices with numeric affinities. Add test cases for IN processing that would have spotted the error in the [2be661a48023f4] check-in. (check-in: 5ded9b68 user: drh tags: trunk)
17:32
This change generates incorrect code when there are two or more IN operators in the WHERE clause that are both used by the same index. Was: Omit an unnecessary OP_IfNull that immediately follows an OP_Rowid. (Closed-Leaf check-in: 2be661a4 user: drh tags: mistake)
17:08
Enhancements to the comments on sqlite3FindInIndex(). No code changes. (check-in: b1a4c394 user: drh tags: trunk)
14:00
Add the stack_usage.tcl script for analyzing the output of objdump on the amalgamation and estimating the sizes of stack frames on each function. (check-in: 030013ff user: drh tags: trunk)
13:20
Update the vdbe-compress.tcl script so that it accepts variable declarations inside of #ifdef...#endif. This enhancement is needed due to the change of check-in [39866c0ede5d6ef4]. (check-in: e7db056a user: drh tags: trunk)
2012-09-17
21:24
Make sure the WHERE_IDX_ONLY flag is not set on query plans that will not be using an index. (Closed-Leaf check-in: 698b2a28 user: drh tags: fullscan-covering-index)
20:44
Add the ability to disable the covering-index-scan optimization at compile-time, start-time, or at run-time. Add test cases to check this configurability. (check-in: ccb8ecc3 user: drh tags: fullscan-covering-index)
19:26
Merge recent trunk changes into the fullscan-covering-index branch. (check-in: 1c0bf030 user: drh tags: fullscan-covering-index)
19:12
Remove obsolete bits from the bitvector that defines disabled optimizations in the SQLITE_TESTCTRL_OPTIMIZATIONS verb of sqlite3_test_control(). (check-in: 4c21ee2d user: drh tags: trunk)
18:56
Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight performance increase. (check-in: 8b962c94 user: drh tags: trunk)
17:16
Make sure the KeyInfo.aSortOrder array is always allocated so that we never have to test for KeyInfo.aSortOrder==0 in performance-critical loops. (check-in: 45793f0b user: drh tags: trunk)
15:36
Performance enhancement in the sqlite3VdbeSerialType() routine. (check-in: ad298f52 user: drh tags: trunk)
2012-09-15
18:45
Attempt to use a covering index even on a full table scan, under the theory that the index will be smaller and require less disk I/O and thus be faster. (check-in: cfaa7bc1 user: drh tags: fullscan-covering-index)
13:39
Make sure the name of rollback journal files are double-zero terminated when they are passed into the VFS. (check-in: 8711a844 user: drh tags: trunk)