Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
100 ancestors of 25131e7062125e91
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. Call this the "WHERE-clause push-down optimization". Do not confuse this with the completely different MySQL push-down optimization. (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) | |