drh [Thu, 8 Jan 2026 13:43:15 +0000 (13:43 +0000)]
Enhance the --vfs command-line option to the CLI such that if the argument
is not a valid VFS name, but is the name of a file, attempt to load that
file as an extension, which presumably adds the desired VFS.
drh [Thu, 8 Jan 2026 12:39:49 +0000 (12:39 +0000)]
Do not show LIKE wildcards on table names in the output of the ".schema"
command in the CLI.
[forum:/info/6ebb57b41691293d|Forum post 6ebb57b41691293d].
drh [Thu, 8 Jan 2026 12:22:50 +0000 (12:22 +0000)]
Add the showtmlog utility for decoding the tmstmpvfs log files.
Fix tmstmpvfs so that it records timestamps in milliseconds since the
Unix epoch, not in JDN milliseconds.
drh [Thu, 8 Jan 2026 01:37:13 +0000 (01:37 +0000)]
Improve showdb so that it does a better job of handling reserve-bytes.
Add the --tmstmp option that causes pgidx to interpret tmstmpvfs tags
if they are available.
drh [Wed, 7 Jan 2026 21:19:42 +0000 (21:19 +0000)]
Enhance the VACUUM INTO command such that if the target file is a URI
with a reserve=N query parameter, then the reserve_bytes value is set to
N provided that N is within the allowed range. This can even reduce the
size of the reserve, all the way to zero. This provides a way to remove
reserve from a database without having to do a complete dump/restore.
drh [Wed, 7 Jan 2026 18:45:23 +0000 (18:45 +0000)]
Improvements to logging. Better log-file names. Log files are in a
subdirectory named after the database. Only connections that write to
the database create logs. Better documentation in the header comment.
drh [Mon, 5 Jan 2026 17:28:33 +0000 (17:28 +0000)]
Add the experimental tmstmpvfs.c extension that adds a timestamp and other
debugging information on each page of a database as that page is written,
if the database is configured for exactly 16 bytes of reserve space.
drh [Sat, 3 Jan 2026 15:11:07 +0000 (15:11 +0000)]
Fix yet another bug in the [/info/e33da6d5dc964db8|EXISTS-to-JOIN]
optimization, reported by
[forum:/forumpost/2026-01-03T14:05:48z|forum post 2026-01-03T14:05:48z].
dan [Fri, 2 Jan 2026 17:10:40 +0000 (17:10 +0000)]
Ensure that loops created by the exists-to-join optimization use unique cursor numbers, even if the EXISTS expression in the WHERE clause is a copy of an expression from the result-set of the SELECT. dbsqlfuzz 4f6a5213cf74fcf2a8a3e48abc2333100348c38e.
drh [Wed, 31 Dec 2025 20:35:16 +0000 (20:35 +0000)]
The header setting from the legacy ".headers" dot-command takes precedence
over the current ".mode" setting, for backwards compatibility.
[forum:/forumpost/2025-12-31T19:14:24z|Forum post 2025-12-31T19:14:24z].
drh [Wed, 31 Dec 2025 19:45:45 +0000 (19:45 +0000)]
In the (completely unused, as far as I know) btreeinfo.c extension (not
a part of any standard build) do a better job of detecting corrupt database
files and provide better error messages when corruption is detected.
[forum:/forumpost/e66a458339|Forum post e66a458339].
drh [Wed, 31 Dec 2025 17:21:30 +0000 (17:21 +0000)]
Add the new "retest" command to testrunner.tcl, which reruns any tests that
failed or never completed in the previous invocation. New makefile target
"retest" for both unix and Windows that runs testrunner.tcl with "retest".
drh [Wed, 31 Dec 2025 01:19:51 +0000 (01:19 +0000)]
Use sqlite3_malloc64() in all places in the compress.c extension to avoid
integer overflow.
[forum:/forumpost/2025-12-31T01:04:00z|Forum post 2025-12-31T01:04:00z].
drh [Wed, 31 Dec 2025 01:01:14 +0000 (01:01 +0000)]
Fix a typo in [0819fe670f9ceec7] that lead to incomplete protection against
buffer overflow in the zipfile extension.
[forum:/forumpost/2025-12-30T23:57:19z|Forum post 2025-12-30T23:57:19z]
drh [Mon, 29 Dec 2025 12:34:37 +0000 (12:34 +0000)]
Fix the "testfixture" makefile target so that it builds with a static TCL
library on Mac-ARM. Fix the "tool-zip" target so that it uses ordinary
tclsh rather than testfixture to run the tool/mmktoolzip.tcl script that
builds the archive.
drh [Sun, 28 Dec 2025 14:32:28 +0000 (14:32 +0000)]
If the filename argument to the .import command is of the form
"<<endmark" then the content is read from the script (or stdin) until
the first line that begins with "endmark".
drh [Wed, 24 Dec 2025 14:03:15 +0000 (14:03 +0000)]
Enhance the omit-noop-join optimization so that it is able to omit a
chain of noop-joins. Optimization improvement suggested by
[forum:/forumpost/11a53f2bad|forum post 11a53f2bad].
dan [Mon, 22 Dec 2025 15:22:02 +0000 (15:22 +0000)]
Add the SQLITE_PREPARE_FROM_DDL flag to sqlite3_prepare_v3(). Use this to prevent fts3/4 tables in non-trusted schemas from calling unsafe SQL functions.
dan [Thu, 18 Dec 2025 18:47:49 +0000 (18:47 +0000)]
Allow queries that use "GROUP BY e1 ORDER BY e2" where e1 and e2 are identical aprt from ASC/DESC sort-orders to be optimized using a single index. Also allow virtual tables to optimize DISTINCT in cases where the result-set of a query does not exactly match the ORDER BY clause.
drh [Thu, 18 Dec 2025 14:01:43 +0000 (14:01 +0000)]
Enhance the sqlite3_load_extension() so that when the entry point is
not specified, after trying sqlite3_extension_init() and
sqlite3_X_init() where X is the alphabetic part of the base filename,
if neither or found it tries again with X as the alpha*numeric* part
of the base filename. Hence, a shared library named "vt02.so" can be
loaded with just ".load vt02" and without having to specify the entry
point separately.
drh [Tue, 16 Dec 2025 13:25:45 +0000 (13:25 +0000)]
CLI improvements. In the .check command, ignore leading and trailing
whitespace unless the --exact option is used. In the .limit command, do
not print the new limit when changing the limit, but only when requesting
the current value of the limit.
dan [Mon, 15 Dec 2025 18:45:22 +0000 (18:45 +0000)]
Fix for optimizing "SELECT DISTINCT ...cols... FROM vtab" in cases where the virtual table implementation is able to deliver results sorted by "...cols...".
drh [Mon, 15 Dec 2025 17:32:56 +0000 (17:32 +0000)]
Enhance the vtablog extension so that it shows the value of
sqlite3_vtab_distinct() in xBestIndex, and so that provides the new
consume_order_by option that can cause xBestIndex to set the
orderByConsumed flag.
drh [Sat, 13 Dec 2025 21:11:49 +0000 (21:11 +0000)]
In the CLI, if a command-line argument names a file and the filename ends
with .sql or .txt, then process that file as an SQL script. Use this
feature for better testing.
drh [Fri, 12 Dec 2025 12:06:42 +0000 (12:06 +0000)]
Add new assert() statements designed to detect and prevent the kind
of system interface numbering errors that happened in [108691a3cb2f296f]
and that were not fixed until [fe49703034bd23fa].