/ Timeline
Login

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

100 ancestors of [25131e70]

2015-06-24
00:05
Performance optimization on balance_nonroot() and related routines. 2.6% faster overall with a size increase of less than 750 bytes. check-in: 25131e70 user: drh tags: trunk
2015-06-23
23:31
Mark some branches as unreachable after the recent change that recognizes mismatch result set sizes on compound SELECT statements sooner. check-in: c8d1f305 user: drh tags: trunk
21:35
Testability improvement. Closed-Leaf check-in: eed6a331 user: drh tags: btree-opt2
18:24
Multiple overflow cells are always adjacent and sequential. Exploit this invariant for a small size reduction and performance increase and add assert()s to prove the invariant. check-in: f77f2f48 user: drh tags: btree-opt2
17:09
Faster loading of cell pointers into the b.apCell array in balance_nonroot. check-in: fda89b05 user: drh tags: btree-opt2
16:00
Avoid unnecessary cachedCellSize() calls in the cell partition adjustment phase of balance_nonroot(). check-in: 6319ee12 user: drh tags: btree-opt2
15:36
Change pageInsertArray() and pageFreeArray() so that they use the CellArray object and compute cell sizes as needed, resulting in smaller and faster code. check-in: f7f41818 user: drh tags: btree-opt2
14:49
Improvements to the way balance_nonroot() constructs the b.apCell array of pointers to cells. check-in: ee44bb25 user: drh tags: btree-opt2
13:02
Merge the compound SELECT operator fix from trunk. check-in: a7be554f user: drh tags: btree-opt2
12:19
Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code. check-in: 4df852ce user: dan tags: trunk
02:37
Avoid computing cell sizes in balance_nonroot() until they are really needed. This gives an overall 1.7% performance gain for about 1000 extra bytes of code space. check-in: 43844537 user: drh tags: btree-opt2
2015-06-22
20:02
Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. check-in: 16872871 user: drh tags: btree-opt2
2015-06-20
14:11
Update the fuzztest data using the latest test vectors discovered by AFL. check-in: b97f9cf7 user: drh tags: trunk
13:18
Make sure that the likelihood() function does not mess up generation of result-set code when it is used (inappropropriately) in a result-set expression. check-in: 7cdbae62 user: drh tags: trunk
2015-06-19
20:31
Performance improvements in btreeParseCell() by inlining the varint decoder. check-in: 172a864d user: drh tags: trunk
20:08
Fix corner cases involving corrupt varint values in record headers. Closed-Leaf check-in: 3189116b user: drh tags: btree-opt
18:24
Performance improvements in btreeParseCell() by inlining the varint decoder. check-in: faab0ed9 user: drh tags: btree-opt
17:19
Add the MemPage.xParseCell method and provide various implementations (variations on the former btreeParseCellPtr()) depending on the page type. check-in: 41d03d88 user: drh tags: trunk
15:07
Make cellSizePtr() a method on the MemPage object, with alternative implementations depending on the page type. This results is a small performance improvement and size reduction. check-in: 02f7e9d7 user: drh tags: trunk
2015-06-18
15:26
Further #ifdef changes in speedtest1.c in order to support SQLite back to version 3.3.9 and perhaps even earlier. check-in: 9246eca5 user: drh tags: trunk
14:32
Pervent the likelihood() function from moving ON clause terms of a LEFT JOIN into the WHERE clause. Fix for ticket [5f60b11fc8e23490e2] check-in: ed96e14a user: drh tags: trunk
14:09
Show the values of Expr.flag in the AST of ".selecttrace" check-in: a84d1004 user: drh tags: trunk
12:37
Add #ifdefs to some features speedtest1.c so that it compiles with older versions of SQLite, going back to version 3.5.1. check-in: f50dd154 user: drh tags: trunk
2015-06-17
23:28
Performance improvement in sqlite3VdbeMemShallowCopy() for the common case where the receiver does not require prior resource deallocation. check-in: d718ea36 user: drh tags: trunk
18:57
Improve spacing and comment style for the shell. No changes to code. check-in: 5b547da0 user: mistachkin tags: trunk
18:24
Improved comments on the fuzzcheck.c test program. No changes to code. check-in: a7e27d19 user: drh tags: trunk
17:08
Fix a uninitialized variable use in the command-line shell when the ".open" command is invoked without any arguments. check-in: fc4f4d1e user: drh tags: trunk
13:20
Performance optimization and comment fixes for the LIKE and GLOB operators. check-in: c89d7726 user: drh tags: trunk
02:11
Make getCellInfo() a real function instead of a macro, for a size reduction and a 0.2% performance gain. check-in: 55c393ea user: drh tags: trunk
01:31
Optimizations to two VDBE accessory routines for a 0.2% performance increase. check-in: 66d033b9 user: drh tags: trunk
2015-06-16
16:39
Ensure that the CREATE TABLE AS statement correctly undoes partial changes to the sqlite_master table if the SELECT on the right-hand side aborts with an error. Fix for ticket [873cae2b6e25b] check-in: 400e025e user: drh tags: trunk
2015-06-15
16:40
Adjust ICU tests to account for recent changes in the official Unicode definition of whitespace. check-in: 08165253 user: drh tags: trunk
16:09
Fix a harmless comment typo. No code changes. check-in: ae687652 user: drh tags: trunk
14:43
Fix harmless compiler warnings. check-in: b0badb99 user: drh tags: trunk
12:58
Improved detection of database corruption in freeSpace(). check-in: 29bcb568 user: drh tags: trunk
10:49
Comment typo fix. No code changes. check-in: 17f185ad user: drh tags: trunk
2015-06-13
11:19
Omit mutex calls in pcache1 when the mutex is NULL, for a significant performance improvement. check-in: caf8f574 user: drh tags: trunk
11:10
Avoid unnecessary mutex usage in pcache1, for a significant speedup. Closed-Leaf check-in: dcf4fb8d user: drh tags: faster-pcache1-fetch
2015-06-12
13:49
Add a fast-path implementation of pcache1Fetch() for the common case of separate caches that do not use a mutex. check-in: 760700ed user: drh tags: faster-pcache1-fetch
13:04
Minor performance optimization in pcache1.c. check-in: 2e8ad2ea user: drh tags: trunk
12:54
Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. check-in: 711a176c user: drh tags: trunk
2015-06-11
14:19
Remove stray outputs from the test suite. check-in: afc6db9b user: drh tags: trunk
13:58
When generating code for partial indexes, be sure not to modify the index condition expression in the schema. check-in: e63d01c6 user: drh tags: trunk
2015-06-10
23:02
More test output refinements. Closed-Leaf check-in: e64a5681 user: mistachkin tags: testerOutput
22:51
Remove possibly stray output from various tests. check-in: f38e0be5 user: mistachkin tags: testerOutput
22:03
Fix minor typo in the quicktest MSVC makefile target. check-in: 75b65f9d user: mistachkin tags: trunk
18:53
"test" targets on all makefiles use --verbose=file --output=test-out.txt. Add the new "quicktest" target to all makefiles - designed to run in under three minutes. The --quick option on releasetest.tcl now uses quicktest. check-in: 6ddef2ad user: drh tags: trunk
14:27
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. check-in: 7b446771 user: dan tags: trunk
2015-06-09
15:58
Add the --output=$file and --verbose=(0|1|file) options to tester.tcl. check-in: f7b2c703 user: dan tags: trunk
10:58
Remove some repeated lines of source code. Probably introduced by careless cut'n'pasting. Closed-Leaf check-in: a34cd71c user: dan tags: vtab-left-join
2015-06-08
19:15
Add the valgrindfuzz target to unix makefile. check-in: e62aed01 user: drh tags: trunk
18:48
If a query contains "FROM t1 LEFT JOIN t2, t3, t4", ensure that tables t3 and t4 are not scanned before t2. The trunk already does this. check-in: 0d9edfab user: dan tags: vtab-left-join
18:05
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. check-in: 80ee56dd user: dan tags: vtab-left-join
17:42
Fix typo in comment. No changes to code. check-in: e49c2917 user: mistachkin tags: trunk
17:40
Split out some source code into new files: wherecode.c, whereexpr.c, and treeview.c. Other minor refactoring changes. check-in: 50f33681 user: drh tags: trunk
15:08
Factor out the TreeView parse tree printing module into a separate file. check-in: c32ce54c user: drh tags: view-optimization
14:23
Split more subfunctions of where.c out into a new whereexpr.c source file, for improved maintainability. check-in: 46ef95c1 user: drh tags: view-optimization
2015-06-06
20:12
Split out the bulk of the actual VDBE code generation logic from where.c into a new file, leaving behind the analysis logic. This makes the original where.c smaller and hopefully easier to edit. check-in: faa0e420 user: drh tags: view-optimization
18:30
Code simplifications in select.c and where.c. check-in: 4f20ac90 user: drh tags: view-optimization
00:18
Minor cleanup of the sqlite3Select() procedure. check-in: f4c90d06 user: drh tags: view-optimization
2015-06-05
22:33
Split FROM-clause subquery flattening and code generation into separate loops. check-in: be8e3fc7 user: drh tags: view-optimization
20:27
Provide one final Select tree dump prior to WHERE clause analysis when ".selecttrace 0x400" tracing bit is set with SELECTTRACE_ENABLED. Analysis and debug changes only - normal builds are unaffected. check-in: 283bf0b6 user: drh tags: trunk
15:59
Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. Closed-Leaf check-in: f167bba4 user: drh tags: column-usage-hint
2015-06-04
12:08
Change the name of SrcList.a[].zIndex to the more descriptive SrcList.a[0].zIndexedBy. check-in: 6a9cf063 user: drh tags: trunk
2015-06-02
19:36
Always check for cell overflow before returning a slot from the pageFindSlot routine in btree.c. check-in: 9f035c45 user: drh tags: trunk
18:09
For FROM-clause subqueries that cannot be flattened, try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. check-in: 6df18e94 user: drh tags: trunk
17:25
Add test cases for type affinity rules. check-in: 9678646d user: drh tags: trunk
16:19
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB to avoid confusion with "no affinity". check-in: 29ad9e91 user: drh tags: trunk
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. Closed-Leaf check-in: bce3f041 user: drh tags: blob-affinity-rename
14:02
Fix a faulty assert() in btree.c. Update the database fuzz test file with new test cases. check-in: 4e621af1 user: drh tags: trunk
2015-06-01
20:28
For FROM-clause subqueries that cannot be flattened, try to push WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Closed-Leaf check-in: 297fae75 user: drh tags: subquery-opt
18:13
Corrections to comments in expr.c. No code changes. check-in: f925389e user: drh tags: trunk
11:10
Typo fixes and additional background information in README.md. check-in: 9b8e5823 user: drh tags: trunk
2015-05-30
22:57
Updates to configure.ac to help it find where the TCL libraries hidden on Ubuntu 14.04. check-in: c864ff91 user: drh tags: trunk
22:05
Fix minor typo in comment. No changes to code. check-in: 73fc058b user: mistachkin tags: trunk
2015-05-29
18:42
Ensure that allocateBtreePage() always clears the MemPage pointer when it fails due to an I/O or memory allocation error. check-in: 09a38bf6 user: drh tags: trunk
17:51
Move two unreachable conditionals inside of NEVER() or assert(). check-in: db4e9728 user: drh tags: trunk
17:13
Remove a corruption test in balance_nonroot that is superceded by a prior better check. check-in: 00693682 user: drh tags: trunk
15:15
Omit the rowallock.test script (Read-Only WAL lock) from the inmemory_journal permutation. check-in: d21db330 user: drh tags: trunk
14:47
Add support for automatic indexes on FROM-clause subqueries that are implemented via co-routine. check-in: 020b8b10 user: drh tags: trunk
14:36
Add some extra source-code comments and a test case. Closed-Leaf check-in: 6d410442 user: drh tags: coroutine-autoindex
13:55
An attempt to allow automatic index creation on subqueries accessed via co-routine. check-in: 521345ad user: drh tags: coroutine-autoindex
01:35
Using "SELECT ALL" instead of just "SELECT" on a query that uses a single unflattenable subquery or view in its FROM clause will force the subquery to be manifested into a temporary table rather than run incrementally using a co-routine. This is a stop-gap means of controlling the decision to manifest while we try to work out a better to make that decision automatically. check-in: a29e117d user: drh tags: trunk
2015-05-28
15:14
Added comments and testcase() macros to error cases in the btree search. check-in: 7da7dc71 user: drh tags: trunk
11:23
Earlier detection of incompatible sibling pages in balance_nonroot. check-in: 60a09f17 user: drh tags: trunk
03:45
Add new test cases to the fuzzdata3.db set of database fuzz tests. check-in: 467b13a4 user: drh tags: trunk
03:28
Add the btreeGetUnusedPage() routine to btree.c, and use it to detect content pages on the freelist and to cause that condition to trigger an SQLITE_CORRUPT. check-in: fe15d1f7 user: drh tags: trunk
00:54
Do not attempt to take any write lock on a read-only database on Windows. check-in: a47ff0cd user: drh tags: trunk
2015-05-27
19:35
The fuzzoomtest makefile target is no longer supported, so update releasetest.tcl accordingly. check-in: 06959d4a user: drh tags: trunk
18:19
Fix a minor and harmless memory leak in fuzzcheck. Adjust the makefiles to run fuzzcheck with --quiet on valgrind tests. check-in: 8bfe8344 user: drh tags: trunk
18:13
All bytes of a page are initialized, even bytes that follow a 2-byte cell on a malformed page. check-in: 7373a004 user: drh tags: trunk
15:42
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. check-in: 95eaa49f user: drh tags: trunk
15:10
Disallow the use of "rowid" in CTEs - it has never worked correctly and it makes no sense, so we might as well make it an explicit error. Also: add the PRAGMA cell_size_check=ON command. check-in: 19e2cebc user: drh tags: trunk
14:21
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. Closed-Leaf check-in: 7e9e1b61 user: dan tags: avoid-buffer-overread
13:06
CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. Closed-Leaf check-in: 0055df04 user: drh tags: no-rowid-in-cte
03:46
Add the "PRAGMA cell_size_check=ON" command. Closed-Leaf check-in: 2ead43f0 user: drh tags: cell-size-check-pragma
2015-05-26
20:31
Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page. check-in: 62a5b363 user: dan tags: trunk
20:07
Avoid branching on an uninitalized variable when comparing SQL values with the undefined serial types 10 and 11 (which only appear in corrupt databases). check-in: b4a45d3b user: dan tags: trunk
19:08
The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. Test data is added for database fuzz testing. check-in: 5e3e410b user: drh tags: trunk
19:01
Merge accidental fork. Closed-Leaf check-in: e85628e3 user: dan tags: test-using-fuzzcheck
18:58
Fix a one-byte buffer overread that may follow a syntax error while preparing an SQL statement. check-in: 07500393 user: dan tags: test-using-fuzzcheck