Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
42 check-ins using file src/vdbeapi.c version f9a4881a96
2025-07-03
| ||
20:51 | Merge the latest trunk fixes and enhancements into the empty-table-optimizations branch (Leaf 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. (Leaf check-in: 960a8e6fc9 user: dan tags: trunk) | |
15:50 | Improvements to sqlite3_vtab_rhs_value() logging in the ext/misc/vtablog.c extension. (Closed-Leaf check-in: 25131ee84f user: drh tags: vtab-limit-fixes) | |
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) | |
14:10 | Enhancements to the xBestIndex output from the ext/misc/vtablog.c extension. (check-in: 8b31acc0b1 user: drh tags: trunk) | |
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) | |
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: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) | |
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) | |
20:32 | Improved byte-code comments for the short-circuit optimization of [0083d5169a46104a], to aid in debugging. (check-in: 113f9d10e3 user: drh tags: trunk) | |
17:36 | Cache and reuse virtual table cursors in the bytecode engine. (check-in: 2d187d4232 user: drh tags: trunk) | |
16:21 | Avoid an assert() failure in fts5 that may occur when processing corrupt records. (check-in: 8afd6ca857 user: dan tags: trunk) | |
15:13 | Merge trunk fixes into the empty-table-optimizations branch. (Closed-Leaf check-in: 63306e447e user: drh tags: empty-table-optimizations) | |
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
| ||
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) | |
16:41 | Strive to skip the evaluation of scalar subqueries that are part of a larger expression if the result from the scalar subquery does not change the result of the overall expression. (check-in: 0083d5169a user: drh tags: trunk) | |
15:56 | Correct ~/.local/config/... to ~/.config/... when looking for sqliterc when XDG_CONFIG_HOME is not set. Internal doc touchups. (Leaf check-in: ebb346c5aa user: stephan tags: shell-xdg-vars) | |
15:21 | Add support for using $XDG_STATE_HOME/sqlite_history or ~/.local/state/sqlite_history before fallback back to the historical default of ~/.sqlite_history. Update sqlite3.1 (man page) with the new semantics. (check-in: 6b780655cc user: stephan tags: shell-xdg-vars) | |
12:14 | For all binary operators, try to avoid computing subquery operands if the other operand is NULL. (Closed-Leaf check-in: d86eb16283 user: drh tags: optimize-null-values) | |
11:46 | Preliminary refactoring of the XDG_CONFIG_HOME support to support the pending addition of other XDG-configurable options. In response to forum post 31db1a23f9. (check-in: 69b9244e3a user: stephan tags: shell-xdg-vars) | |
11:04 | Slightly smaller and faster version of the previous check-in. (check-in: f6e6fd02f4 user: drh tags: optimize-null-values) | |
11:00 | Minor API doc typo fixes from brickviking. (check-in: b48d951916 user: stephan tags: trunk) | |
10:30 | Factor out the code that tries to avoid evaluating subquery operands if the other operand is NULL into a subroutine, so that it can be more easily reused by other parts of the code generator. (check-in: 3c6c71bcea user: drh tags: optimize-null-values) | |
2025-06-29
| ||
07:32 | Minor API doc typo fixes from brickviking. (check-in: c7cf9dcb69 user: stephan tags: trunk) | |
2025-06-28
| ||
17:59 | Improve the bytecode generated for comparisons so that if one operand is a subquery and the other operand evaluates to NULL, the subquery operand is not even computed. This fixes 5 of the 11 slow queries described in forum post 52651713ac. (check-in: f147bc0477 user: drh tags: optimize-null-values) | |
14:36 | Merge all the latest trunk fixes and enhancements into the reuse-schema branch. (Leaf check-in: 6e1f97d99b user: drh tags: reuse-schema) | |
14:30 | Merge the latest trunk fixes and enhancements into the bedrock branch. (Leaf check-in: a6f6fbe617 user: drh tags: bedrock) | |
14:24 | Merge the latest trunk enhancements into the wal2 branch. (Leaf check-in: e7867c3992 user: drh tags: wal2) | |
14:16 | Merge the latest trunk enhancements into the begin-concurrent branch. (Leaf check-in: 1ae8d60237 user: drh tags: begin-concurrent) | |
2025-06-27
| ||
19:02 | Raise an error right away if the number of aggregate terms in a query exceeds the maximum number of columns. (check-in: 5508b56fd2 user: drh tags: trunk) | |
12:46 | API doc typo fixes and closing DD element tags from brickviking. (check-in: c9ddd15b01 user: stephan tags: trunk) | |
2025-06-26
| ||
18:57 | Work around an apparent GCC UBSAN bug. See forum thread 1d7c25d4a2d for details. (check-in: 23056532e5 user: drh tags: trunk) | |
2025-06-25
| ||
20:42 | Minor API doc fixes sent off-list from brickviking. (check-in: cb4d05633a user: stephan tags: trunk) | |
2025-06-24
| ||
18:27 | Similar fix to the previous check-in, but this time for sqlite3_preupdate_new(). (check-in: 9aaff764d5 user: drh tags: trunk) | |