SQLite

Timeline
Login

50 most recent check-ins

2026-10-18
00:34
Only enforce the limit on the number of CTE cursors at SQLITE_LIMIT_EXPR_DEPTH if SQLITE_DBCONFIG_DEFENSIVE is engaged. Also give a different error message when the number of CTEs grow too large. This is a proposed work-around for the problem described at Forum post 2026-10-16T20:30:17Z. It does require the user to disable defensive. Perhaps for 3.55.0 I should add a new limit instead, like SQLITE_LIMIT_CTES. (leaf check-in: 2161aefeb8 ... user: drh tags: too-many-ctes)
2026-10-17
18:29
Use box-drawing characters to highlight the "Expected" and "Got" output from failed ".check" lines in the CLI, for improved debug support. (leaf check-in: 09e1f16661 ... user: drh tags: experimental)
18:25
Fix uses of C99 and other minor issues in ext/vec1/vec1.c. Report 2026-10-17T09:17:48Z. (leaf check-in: 8fd4b73592 ... user: dan tags: trunk)
13:23
Fix 24:00:00 rounding of dates with negative years. Forum post 2026-10-17T12:57:32Z (check-in: 91515aa82e ... user: drh tags: trunk)
12:10
Merge recent branch-3.54 fixes into trunk. (check-in: c75eff906c ... user: drh tags: trunk)
12:03
Fix an incorrect assert() in generate_series(). No impact on non-debug builds. Bug 2026-10-17T09:24:09Z (leaf check-in: c5d67762df ... user: drh tags: branch-3.54)
11:34
Enhance ".expert" in the CLI so that when it is generating unique index names, the probability of being unable to create a unique names becomes vanishingly small, essentially zero. And even if that does happen, be sure to free the last candidate name before returning an error. Bug 2026-10-17T09:25:38Z (check-in: d43611f653 ... user: drh tags: branch-3.54)
11:13
Enhance QRF to deal with zero-length column names. Also make use of the new sqlite3_str_free() interface. Bug 2026-10-17T09:26:21Z (check-in: d3e004fe3d ... user: drh tags: branch-3.54)
10:10
Add a byte to an alloc made during .mode -widths parsing. Bug report 2026-10-17T09:23:52Z. (check-in: 9373a2e3be ... user: stephan tags: branch-3.54)
03:06
Merge the latest fixes from branch-3.54 onto trunk. (check-in: e30e6624c4 ... user: drh tags: trunk)
01:52
Update the sqlite3_clear_bindings() interface so that it avoids forcing a reprepare if a binding that is not 0 or 1 is cleared. Forum post 2026-10-16T19:10:10Z. (check-in: 535a77cf5a ... user: drh tags: branch-3.54)
2026-10-16
23:32
Augment the AST for *-expansion of a column in the left table of a RIGHT JOIN that is joined via USING. Working toward a fix for Bug 2026-10-08T15:50:07Z. Experimental and incomplete. Saved to work on other things. (check-in: 4c31bf288a ... user: drh tags: experimental)
20:31
Add two new assert()s to document invariants within selectExpander(). (check-in: 69d51c3542 ... user: drh tags: trunk)
18:11
Fix a problem with reading large UTF16 strings with a BOM out of the VDBE column cache. Bug 2026-10-13T01:16:49Z (check-in: 5bd093e261 ... user: drh tags: trunk)
17:58
Fix a harmless C90 compiler warning in the decimal extension. (check-in: a7f6aa448f ... user: drh tags: trunk)
17:42
Fix a problem handling zero-length strings in some cases in group_concat() when it is used as a window function. Report 2026-10-16T15:51:51Z. (check-in: 2f794cf18a ... user: dan tags: trunk)
16:23
Increase the version number to 3.54.2 to begin the next patch cycle. (check-in: ffce7c6272 ... user: drh tags: branch-3.54)
15:40
Merge the latest trunk enhancements into the reuse-schema branch (leaf check-in: e10f96044a ... user: drh tags: reuse-schema)
15:37
Merge the latest trunk enhancements into the bedrock branch via wal2. (leaf check-in: b3203c69f8 ... user: drh tags: bedrock)
15:28
Merge the latest trunk enhancements into the wal2 branch (leaf check-in: 447082ded3 ... user: drh tags: wal2)
15:24
Merge the latest trunk enhancements into the begin-concurrent branch. (leaf check-in: e80edc371c ... user: drh tags: begin-concurrent)
15:15
Version 3.54.1 for the reuse-schema branch (leaf check-in: eb529f2adf ... user: drh tags: reuse-schema-3.54)
14:45
Version 3.54.1 (check-in: 555e07ef33 ... user: drh tags: release, branch-3.54, version-3.54.1)
14:31
In test file test1.c, use a static SQLite mutex to protect the hash table instead of a Tcl mutex. A Tcl mutex is a no-op on unix unless TCL_THREADS is defined at runtime, and SQLite test configurations do not define this, which was causing errors in multi-threaded tests like notify2.test. (check-in: 668541c592 ... user: dan tags: trunk)
14:02
Do not allow two or more sandbox() calls with the same nonce within the same SQL statement. Report a sandbox violation if a sandbox() contains the wrong number of arguments. (leaf check-in: 7434744192 ... user: drh tags: branch-3.53-sandbox-func)
13:59
Do not allow two or more sandbox() calls with the same nonce within the same SQL statement. Report a sandbox violation if a sandbox() contains the wrong number of arguments. (leaf check-in: b3c63e883b ... user: drh tags: sandbox-func)
13:14
Avoid unnecessary zero-length calls to memmove(). (check-in: 155b341bb4 ... user: drh tags: trunk)
11:15
Experimental: expressions within {...} may not contain subqueries. (closed check-in: c7f8429ab7 ... user: drh tags: curly-brace-expr-3.53)
11:11
Experimental: expressions within {...} may not contain subqueries. (closed check-in: 89ae8de9b4 ... user: drh tags: curly-brace-expr)
10:00
New optimizations to GLOB/LIKE and to mutex locking on shared-cache. (check-in: a787e60de2 ... user: drh tags: trunk)
08:43
Avoid zero-length memmove() calls when appending B-tree cells. (closed check-in: d75a9fd3cf ... user: jeffchen tags: opt-btree-insertcell-skip-empty-memmove)
2026-10-15
23:22
Enable the noSharedCache fast path in SQLITE_THREADSAFE=0 builds. (closed check-in: 3122863990 ... user: jeffchen tags: opt-btree-enterall-nosharedcache)
23:15
Avoid unnecessary recursive calls in LIKE and GLOB matching by checking the next ASCII literal before recursing. (closed check-in: f88d33b190 ... user: jeffchen tags: opt-like-glob-prefilter)
21:46
Deal with harmless 32-bit integer overflow on parameters to some extension SQL functions. Bug 2026-10-15T04:34:08Z (check-in: ca52702835 ... user: drh tags: trunk)
19:59
Avoid a crash processing "ORDER BY rowid NULLS LAST" introduced by the previous commit. (check-in: 90cab4acea ... user: dan tags: trunk)
19:07
Avoid a spurious corruption report in some cases when processing an ORDER BY .. NULLS LAST query against a WITHOUT ROWID table that has had columns added to it using ALTER TABLE. Report 2026-10-15T03:54:19Z. (check-in: a2a20c54a2 ... user: dan tags: trunk)
17:36
Fix DEFAULT so that BLOB values cast to text use the database encoding. Bug 2026-10-14T17:33:12Z. (check-in: 178677e141 ... user: drh tags: trunk)
17:09
Fix a missing term on an assert() added by the previous check-in. (check-in: 59dec753df ... user: drh tags: trunk)
15:33
When a single loop uses an IN(...) expression and a LIKE/GLOB expression with an index, nest the 2-iteration loop that scans ranges of text and blob values using the LIKE/GLOB pattern inside the IN(...) loop in order to ensure that results are scanned in index order. Report 2026-10-13T18:54:28Z. (check-in: 08e979525f ... user: dan tags: trunk)
13:55
Remove code that is no longer reachable after [bbdd13370de93035]. Add an assert() to verify that the code is unreachable. (check-in: a0f9daf75b ... user: drh tags: trunk)
13:33
Merge the 24:00:00 fix from branch-3.54 into trunk (check-in: 3ce64081ca ... user: drh tags: trunk)
13:19
Fixes to the handling of time 24:00:00. Forum post 2026-10-15T10:26:06Z (check-in: 69071e25ca ... user: drh tags: branch-3.54)
2026-10-14
20:14
Initial implementation of the experimental sandbox(N1,E,N2) function. The function resolves (by transforming the AST) to the expression E if N1 and N2 are the same constant expression. Requires the -DSQLITE_ENABLE_SANDBOX_FUNCTION compile-time option. (check-in: 767597cc11 ... user: drh tags: branch-3.53-sandbox-func)
20:07
Ensure the correct collation sequence is used for expressions like "a IN (SELECT b COLLATE ...)" when using an index on "a". Bug 2026-10-14T18:00:55Z. (check-in: bbdd13370d ... user: dan tags: trunk)
20:06
Initial implementation of the experimental sandbox(N1,E,N2) function. The function resolves (by transforming the AST) to the expression E if N1 and N2 are the same constant expression. Requires the -DSQLITE_ENABLE_SANDBOX_FUNCTION compile-time option. (check-in: 035fd52d54 ... user: drh tags: sandbox-func)
18:39
Fix indexes on typeless generated columns that pull from REAL columns so that they correctly return REAL values. Bug 2026-10-14T17:34:30Z. (check-in: 7408f90ecc ... user: drh tags: trunk)
17:52
Fix json_tree() when it is given a root that ends with an array index so that it returns the correct "key" for the first root. This was broken by check-in [858b76a00e8ff552] and in version 3.45.0. Problem reported by Forum post 2026-10-14T08:42:26Z. (check-in: eaf646e376 ... user: drh tags: trunk)
17:52
Have testrunner.tcl unset environment variable DEBUGINFOD_URLS. Leaving it set slows down some sanitizer release tests. (check-in: b7ebfea1c1 ... user: dan tags: trunk)
16:11
Improve the error messages emitted by fts5 in some cases. Report 2026-10-13T21:57:58Z. (check-in: dabff5c1cd ... user: dan tags: trunk)
15:02
Ensure the internal DBFLAG_SchemaKnownOk flag is always cleared after a database schema is reset. (check-in: 96a56e7cf9 ... user: drh tags: trunk)
More ↓