drh [Fri, 5 Dec 2025 19:45:43 +0000 (19:45 +0000)]
In the Windows Makefile.msc, never set -DNDEBUG. And add the "env" target
which prints out the value of all 127 configuration variables that
Makefile.msc uses.
drh [Fri, 5 Dec 2025 12:22:23 +0000 (12:22 +0000)]
Enhance the unixIsSharingShmNode() code (check-in [6385a1962c69c69c])
so that it more understandable by humans, and so that it does not trigger
false positive deadlock warnings in TSAN.
drh [Fri, 5 Dec 2025 01:33:23 +0000 (01:33 +0000)]
Another fix to [e33da6d5dc964db8]: Ensure that the EXISTS-to-JOIN break
happens even if the inner loop is a "no-op" loop that never executes more
than once because it is controlled by a UNIQUE index. This resolves the
error reported in [forum:/forumpost/7992838ba2|forum post 7992838ba2].
Test cases are in TH3.
dan [Thu, 4 Dec 2025 16:44:11 +0000 (16:44 +0000)]
Limit compile time value SQLITE_MAX_SQL_LENGTH to 1024 less than 2^31, or 2147482624. This is to avoid having to deal with edge cases related to 32-bit integer overflow that can only occur in custom builds.
drh [Thu, 4 Dec 2025 00:05:49 +0000 (00:05 +0000)]
Fix an incorrect answer that might arise if a scalar query is both
DISTINCT and contains an OFFSET clause.
[forum:/forumpost/2025-12-03T09:25:59Z|Forum post 2025-12-03T09:25:59Z].
drh [Wed, 3 Dec 2025 21:31:53 +0000 (21:31 +0000)]
More aggressive optimization of IS NULL and IS NOT NULL operators in
the parser. New sqlite3ExprInt32() internal interface for creating
integer nodes in an expression tree.
dan [Wed, 3 Dec 2025 14:39:25 +0000 (14:39 +0000)]
Fix a problem that could occur when a scalar subquery had both a DISTINCT and OFFSET clause. First reported by [forum:41bd7af485 | forum post 41bd7af485].
dan [Tue, 2 Dec 2025 14:43:59 +0000 (14:43 +0000)]
Fix a problem with ALTER TABLE DROP COLUMN commands where the column being dropped is the rightmost in table and is immediately preceded by a comment containing a "," character.
drh [Sun, 30 Nov 2025 23:09:24 +0000 (23:09 +0000)]
Tweaks to the wcwidth() algorithm in QRF, for better agreement with
the Terminal on Ubuntu. There is no perfect solution, as different
ttys do things differently, but we should try to get as close as we
can.
stephan [Sun, 30 Nov 2025 07:25:59 +0000 (07:25 +0000)]
Add sqlite3_db_handle() to the list of functions which are guaranteed to preserve the current error state, per request in [forum:8e79e8ddd5|forum post 8e79e8ddd5].
drh [Sat, 29 Nov 2025 18:32:25 +0000 (18:32 +0000)]
Update the documentation to sqlite3_str_finish(). That function might
not return NULL on an empty string now, if the empty string is created
through the use of sqlite3_str_truncate().
drh [Sat, 29 Nov 2025 12:06:12 +0000 (12:06 +0000)]
Fix an assertion fault in sqlite3Dequote() that can occur with
ALTER TABLE DROP CONSTRAINT on a corrupt schema.
dbsqlfuzz 509a778e8a0c21a6448003feb773a1e55ed751e7. Test case in TH3.
stephan [Fri, 28 Nov 2025 17:50:29 +0000 (17:50 +0000)]
Fiddle build: if JQTERM is set to the dir name of a built jquery.terminal checkout then copy the pieces fiddle needs to enable that input mode. By default it looks in ~/src/jquery.terminal.
dan [Fri, 28 Nov 2025 11:52:40 +0000 (11:52 +0000)]
Fix a problem in the xFilter() method of the fts5_vocab virtual table causing it to omit some result rows in some cases where a virtual cursor is used more than once by SQLite.
drh [Thu, 27 Nov 2025 12:15:22 +0000 (12:15 +0000)]
Ensure that the CLI always jumps to the code that frees memory allocations
prior to exiting when it encounters errors on the command line - just so
that fuzzers won't call that memory leak, even though it is not.
drh [Wed, 26 Nov 2025 21:56:55 +0000 (21:56 +0000)]
Do not omit the beginning and ending margins when setting bBorder to QRF_Off,
except when the margins need to be squeezed to fit. Those extra margins give
a more pleasing appearance, and also make the output the same as psql.
drh [Wed, 26 Nov 2025 16:21:56 +0000 (16:21 +0000)]
Add the bBorder option to the QRF spec. Reflect this in the -border
option on the TCL format method, and the --border option to ".mode"
in the CLI. Also add the "psql" mode to the CLI.
drh [Wed, 26 Nov 2025 11:19:11 +0000 (11:19 +0000)]
Fix the sha1() extension function so that it returns actual TEXT instead
of a BLOB containing the UTF-8 TEXT.
[forum:/forumpost/d15eefea7c|Forum post d15eefea7c]
drh [Tue, 25 Nov 2025 22:38:07 +0000 (22:38 +0000)]
Add two new makefile targets, "errors" and "status", for checking on testrunner
errors and for running testrunner status -d 2, respectively. Add a simple
make.bat script at the top level that runs nmake for us, and thus make the
command-line to test on Windows identical to Unix.
stephan [Tue, 25 Nov 2025 19:20:15 +0000 (19:20 +0000)]
Guard access to a piece of Emscripten-related scaffolding so that sqlite3-api.js does not hit it when imported into other builds. Reported in [forum:6eacbb9c447a5665|forum post 6eacbb9c447a5665].
drh [Mon, 24 Nov 2025 11:00:02 +0000 (11:00 +0000)]
Change our local copy of the third-party jimsh0.c program (used only
during the build process) so that it prints an error message and
exits if malloc() fails. This does not fix any actual bugs nor make
the build process any "safer", but it might help prevent bothersome
warnings from pedantic static analyzers.
drh [Sun, 23 Nov 2025 00:10:06 +0000 (00:10 +0000)]
Use the new "split" mode to simplify and improve the implementation of
the ".tables" and ".indexes" commands in the CLI. Fix a bug in QRF
that this new implementation found.
drh [Sat, 22 Nov 2025 16:43:52 +0000 (16:43 +0000)]
Ignore semicolons at the end of dot-commands, if the compatibility date is 20251115 or later.
[forum:/forumpost/72d084ed552|Forum thread 2025-10-09T21:12:32z]
stephan [Sat, 22 Nov 2025 15:49:45 +0000 (15:49 +0000)]
Cherrypick [e0b33b51229a] for the latest wasmutil/jaccwabyt - all tests are happy. Fix a make deps bug which can break parallel builds involving fiddle.