Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins that include changes to files matching 'src/*'
2025-07-07
| ||
19:03 | Small performance optimization in the resolver. (Leaf check-in: 840646df06 user: drh tags: empty-table-optimizations) | |
18:35 | Merge the latest trunk enhancements and fixes into the empty-table-optimizations branch. (check-in: f15cdf0757 user: drh tags: empty-table-optimizations) | |
16:28 | Rework the fix to the problem described by forum post b9647a113b so that it provides a more complete fix that covers cases that were not resolved by the original fix, and so that it does not cause performance regressions. (Leaf check-in: 4084ac20f4 user: drh tags: branch-3.50) | |
16:19 | Rework the fix to the problem described by forum post b9647a113b so that it provides a more complete fix that covers cases that were not resolved by the original fix, and so that it does not cause performance regressions. (check-in: 28db0d152d user: drh tags: trunk) | |
15:40 | Simplifications to the row-value IN operator logic. Do not let the query planner accept a WhereLoop for a row-value IN operator that uses the same index column more than once. (Closed-Leaf check-in: d2adf61f21 user: drh tags: redundant-idx-columns) | |
11:37 | Avoid invoking the preupdate hook from within sqlite3_blob_write() if the cursor is already invalid. (check-in: 9f335b9a4e user: dan tags: trunk) | |
10:54 | Back out the fix at [ba7d5bad32ad6aac] because it does not always work and because it causes a performance regression. Add new test cases for row-value lookups of indexes that contain redundant columns, three of which are currently failing. This branch is seeking an improved solution to the redundant index column problem for row-value lookups. (check-in: ad8ddcefab user: drh tags: redundant-idx-columns) | |
02:23 | Fix a parsing error introduced by the addition of the ability to disable comments. (check-in: 602f8a639c user: drh tags: branch-3.50) | |
02:18 | Fix parser error introduced by [325e547a2195571e]. See forum post 095dbfc06e5. (check-in: 4eefab4494 user: drh tags: trunk) | |
2025-07-06
| ||
01:19 | Improvements to the EXPLAIN QUERY PLAN output for EXISTS-to-JOIN. (check-in: 6b1ecbaa2e user: drh tags: empty-table-optimizations) | |
2025-07-05
| ||
23:33 | Enhance the EXISTS-to-JOIN optimization so that it works on EXISTS subqueries that do not have a WHERE clause, and so that it works on nested EXISTS subqueries. (check-in: c1d5295724 user: drh tags: empty-table-optimizations) | |
2025-07-04
| ||
14:24 | Merge fixes from trunk into the empty-table-optimizations branch (check-in: 6f98b16d21 user: drh tags: empty-table-optimizations) | |
12:25 | Fix harmless compiler warnings. (check-in: 13af4acebe user: drh tags: trunk) | |
11:48 | Remove an ALWAYS() added by [960a8e6fc91f4] that turns out to be false in some cases of malformed SQL. (check-in: cc8171461b user: drh tags: trunk) | |
11:06 | Do not allow the EXISTS-to-JOIN optimization if the EXISTS clause is based on a view, since that view might expand into a join. (check-in: 872c41fedd user: drh tags: empty-table-optimizations) | |
10:26 | Improve the early-termination optimization so that it works in queries which use the LIKE optimization in the outer loop. (check-in: b4e4d14824 user: drh tags: empty-table-optimizations) | |
10:17 | Merge trunk into column-text-blob-v2 branch. (Leaf check-in: f73460d4f0 user: stephan tags: column-text-blob-v2) | |
10:10 | Tweak for coverage testing of valueToTextV2(). This changes passes through coverage testing but doesn't look quite right to me, in that this part now differs from its counterpart in valueToText() (which doesn't need this to get coverage for what amounts to the same path). (check-in: dae572912f user: stephan tags: column-text-blob-v2) | |
2025-07-03
| ||
20:51 | Merge the latest trunk fixes and enhancements into the empty-table-optimizations branch (check-in: d4f47e04f5 user: drh tags: empty-table-optimizations) | |
16:05 | Fix a few cases where LIMIT clauses that were part of scalar sub-queries on virtual tables were not being passed to xBestIndex methods correctly. (check-in: 960a8e6fc9 user: dan tags: trunk) | |
15:32 | Make the value of an explicit LIMIT clause on a scalar sub-query available to xBestIndex for simple "LIMIT 0" and "LIMIT 1" queries. (check-in: 33b6a63caa user: dan tags: vtab-limit-fixes) | |
14:28 | Make handling of LIMIT clauses in correlated sub-queries on virtual tables more efficient. (check-in: 7214cb2a5b user: dan tags: vtab-limit-fixes) | |
11:52 | Fix an uninitialized variable added yesterday by [d27d34fb746280e7]. This problem was discovered overnight by OSSFuzz. (check-in: 6db4703f11 user: drh tags: trunk) | |
00:17 | Minor tweaks to the exists-to-join optimization. (check-in: 9cb600ad57 user: drh tags: empty-table-optimizations) | |
2025-07-02
| ||
20:46 | Merge in the exists-to-join optimization that has been modified to relax the requirement of having an indexed join constraint. (check-in: 1c1aef2b7f user: drh tags: empty-table-optimizations) | |
17:43 | Fix VDBE coverage (check-in: ff593a16d6 user: drh tags: empty-table-optimizations) | |
15:29 | Correct mis-placed OOM checks in valueToTextV2(). (check-in: 9226a2a3c6 user: stephan tags: column-text-blob-v2) | |
14:53 | Early exit if one of the inner loops of a 3-way or larger join is an empty table. (check-in: eaad6ac707 user: drh tags: empty-table-optimizations) | |
13:24 | Per /chat and forum discussions: (A) Remove the value type output pointer from text/blob_v2(). (B) Teach blob_v2() to return an opaque non-NULL pointer for length-0 blobs. (check-in: c96539beb5 user: stephan tags: column-text-blob-v2) | |
13:19 | If the LHS for an EXCEPT or INTERSECT operator is empty, skip over the computation of the RHS. (check-in: 13f096ae8a user: drh tags: empty-table-optimizations) | |
11:47 | Improve the bytecode for joins such that it exits earlier if it determines that no output is possible. (check-in: 2d2b61cba4 user: drh tags: trunk) | |
07:52 | Add test1.c tcl bindings for sqlite3_column_text/blob_v2(). Replace, essentially randomly, some of the v1 API calls in capi2.test and capi2.test with the v2 calls to ensure identical results. Add a couple new tests comparing results between v1 and v2. (check-in: a3ca0adbaf user: stephan tags: column-text-blob-v2) | |
02:03 | Ensure that Expr.op2 values for TK_AGG_FUNCTION nodes are adjusted when query flattening. (check-in: d27d34fb74 user: drh tags: trunk) | |
2025-07-01
| ||
23:17 | Improved comments on bytecode used to implement aggregate queries, to aid in debugging. (check-in: a1a8b85cdb user: drh tags: trunk) | |
21:33 | Remove an #if 0 block. (check-in: 0363c430b5 user: stephan tags: column-text-blob-v2) | |
21:06 | Have sqlite3_value/column_text/blob_v2() return MISUSE for a NULL input object or output target only if SQLITE_ENABLE_API_ARMOR is in effect, for consistency with their sibling APIs. (check-in: 6290a8eadd user: stephan tags: column-text-blob-v2) | |
20:56 | Have sqlite3_value/column_text/blob_v2() unconditionally return MISUSE for a NULL input object or output target, rather than only when API_ARMOR is in effect. This is debatable. (check-in: c8edbfc7e8 user: stephan tags: column-text-blob-v2) | |
20:32 | Improved byte-code comments for the short-circuit optimization of [0083d5169a46104a], to aid in debugging. (check-in: 113f9d10e3 user: drh tags: trunk) | |
18:38 | Parameter number doc corrections for the previous check-in. (check-in: 97b06c4594 user: stephan tags: column-text-blob-v2) | |
18:36 | Add API docs for sqlite3_column_text_v2() and sqlite3_column_blob_v2(). (check-in: 60614fed44 user: stephan tags: column-text-blob-v2) | |
17:36 | Cache and reuse virtual table cursors in the bytecode engine. (check-in: 2d187d4232 user: drh tags: trunk) | |
16:38 | Experimentally add another output pointer to the text/blob_v2() family which gets the sqlite3_value_type() assigned to it if it's not NULL, based on feedback in the forum. (check-in: 4aab781d2a user: stephan tags: column-text-blob-v2) | |
15:13 | Merge trunk fixes into the empty-table-optimizations branch. (Closed-Leaf check-in: 63306e447e user: drh tags: empty-table-optimizations) | |
13:01 | Initial implementations of sqlite3_column_text_v2(), sqlite3_column_blob_v2(), and their JS/WASM bindings/tests. (check-in: 1d065231ab user: stephan tags: column-text-blob-v2) | |
12:49 | When attempting to optimize "expr AND false" to "false" and "expr IN ()" to "false", take care not to delete aggregate functions in the "expr" as doing so can change the meaning of the query. (check-in: 355c7902de user: drh tags: branch-3.50) | |
12:43 | When attempting to optimize "expr AND false" to "false" and "expr IN ()" to "false", take care not to delete aggregate functions in the "expr" as doing so can change the meaning of the query. See forum thread f4878de3e7. (check-in: 77397bd67d user: drh tags: trunk) | |
2025-06-30
| ||
23:17 | Restart this branch using a different take: add new "v2" routines instead of refactoring the old ones, which eliminates any performance impact or risk of behavior change for existing APIs. None of this code is actually called from anywhere yet. (check-in: b0b1b4ccb9 user: stephan tags: column-text-blob-v2) | |
22:15 | Initial experimental internal changes needed to support a hypothetical sqlite3_column_text/blob_v2(), as discussed in forum post 402a837960d9de45. This is just the first step: this change needs to cascade upwards a couple of levels, remove one level of porting-crutch API, and go through performance comparisons before we'll know whether it's really feasible. make devtest passes but there are corner error cases which require more precise testing to ensure that there are no visible changes in behavior. (Closed-Leaf check-in: 730c6a623e user: stephan tags: column-text-blob-v2) | |
21:07 | More aggressive optimization of addrHalt for RIGHT JOIN. (check-in: 5e51d1c0df user: drh tags: empty-table-optimizations) | |
20:19 | Compute WhereLevel.addrBrk and .addrHalt early so that those labels can be used to abort loops early. Use this to improve performance on two more of the cases described by forum post 52651713ac. (check-in: 6fc0b9ac23 user: drh tags: empty-table-optimizations) | |