SQLite

Timeline
Login

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

50 most recent check-ins

2025-07-08
12:37
Fix test case results in FTS5 that were changed error message improvements in [48044a6b57c0a16c] but which were omitted from that check-in. (Leaf check-in: e1f8e0240b user: drh tags: trunk)
2025-07-07
20:47
Only run preupdate-hook tests in incrblob4.test if the preupdate-hook is enabled in the build. (check-in: 56314b6b53 user: dan tags: trunk)
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)
14:42
Work around the Emscripten 4.10 regression described in Emscripten ticket #24656. (check-in: db96ff7bbc user: stephan tags: branch-3.50)
12:11
Work around the Emscripten 4.10 regression described in Emscripten ticket #24656. Problem reported off-list by BrickViking. (check-in: c385475b25 user: stephan tags: trunk)
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
15:36
Remove some dead JS code and some extraneous debug output from test code. (Leaf check-in: 6e73770a7f user: stephan tags: oo1-unowned-handles)
15:13
JS doc additions. (check-in: 7933505f0c user: stephan tags: oo1-unowned-handles)
15:01
Experimentally add sqlite3.oo1.DB/Stmt.wrapHandle(), which allow DB/Stmt instances to wrap a (sqlite3*)/(sqlite3_stmt*) optionally with or without taking ownership of it. The intent is to enable mix-and-match use of the C API, the oo1 API, and any other hypothetical API which exposes those pointers. oo1.Stmt.parameterCount is now a property access interceptor like Stmt.columnCount is, but that doesn't change how it's used. (check-in: 1227543b87 user: stephan tags: oo1-unowned-handles)
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
18:38
Propagate the -ldl and -lpthread flags, if needed, into sqlite3.pc, per request in forum post 44a58c807353162f. This resolves usage of that pkgconf file on some OSes. (check-in: b4db6ddeed user: stephan tags: branch-3.50)
18:32
Add 'reconfigure' target to Makefile.in to re-run the configure script with the same flags it was generated with. (check-in: c60907e77b user: stephan tags: trunk)
17:20
Propagate the -ldl and -lpthread flags, if needed, into sqlite3.pc, per request in forum post 44a58c807353162f. (check-in: 64f5f14322 user: stephan tags: trunk)
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: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)
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)