]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
8 weeks agoFix a problem that could occur when a scalar subquery had both a DISTINCT and OFFSET... distinct-offset-subquery-fix
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].

FossilOrigin-Name: 496bbff910b73775b16c1ccb95dadf37416d3f3032722a1140f2a9134666d7f1

8 weeks agoClarification of comment text in expr.c. No changes to code.
drh [Wed, 3 Dec 2025 12:07:35 +0000 (12:07 +0000)] 
Clarification of comment text in expr.c.  No changes to code.

FossilOrigin-Name: afe5ee64f1cde4945c878220b029f2a22578c2bccda4fddc005c4e6a4718c6cd

2 months agoFix recently added test cases for Windows.
drh [Wed, 3 Dec 2025 02:48:36 +0000 (02:48 +0000)] 
Fix recently added test cases for Windows.

FossilOrigin-Name: bccc0d65b0fb617f6c8eb111b6717d3ad419f80d3495dc5c6a69ccd0771b3d9d

2 months agoImprovements to the ".schema indent" logic.
drh [Tue, 2 Dec 2025 19:55:39 +0000 (19:55 +0000)] 
Improvements to the ".schema indent" logic.
[forum:/forumpost/c8136b1bd0|Forum post 2025-12-02T19:04:04Z].

FossilOrigin-Name: 71ea7f38ffd0648c58713d8be5d2f5536f926ec21a0adc3c2a8a9a7ba8ea3826

2 months agoNew test cases for QRF
drh [Tue, 2 Dec 2025 18:37:49 +0000 (18:37 +0000)] 
New test cases for QRF

FossilOrigin-Name: e49c63e31888c6787ab13f736d58ff985a24c3f98b475e05c30e8b244afffb80

2 months agoFix a harmless compiler warning in the previous check-in.
drh [Tue, 2 Dec 2025 15:01:29 +0000 (15:01 +0000)] 
Fix a harmless compiler warning in the previous check-in.

FossilOrigin-Name: 601c40a1d9e1bcd9c453210c275001543d1533af25b4ccf399d5ef4ea1328950

2 months agoFix a problem with ALTER TABLE DROP COLUMN commands where the column being dropped...
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.

FossilOrigin-Name: c872bd1ee7b219e055f40e43766e4ed6bc2d2ca8cb92577cd3560f4173b1f257

2 months agoAdd developer note on how to measure coverage of QRF.
drh [Tue, 2 Dec 2025 12:23:24 +0000 (12:23 +0000)] 
Add developer note on how to measure coverage of QRF.

FossilOrigin-Name: 0fdd453c03addb8f5c1e546f7513e3498bccd61266174ce99a61ceebf04e97cf

2 months agoFix a potential UAF in sqlite3.oo1.DB.exec()'s teardown pieces.
stephan [Mon, 1 Dec 2025 19:19:06 +0000 (19:19 +0000)] 
Fix a potential UAF in sqlite3.oo1.DB.exec()'s teardown pieces.

FossilOrigin-Name: 7e99e93cddeba555836206a278c5dcfd8565cc2a486a83cffab64dad168e9464

2 months agoDisallow the undocumented -recovery-db option on the ".recover" command
drh [Mon, 1 Dec 2025 11:07:31 +0000 (11:07 +0000)] 
Disallow the undocumented -recovery-db option on the ".recover" command
of the CLI when in --safe mode.

FossilOrigin-Name: 65202440874a7fea5aba262e8e78b97c833147d47837a99f301eca968f9a78b1

2 months agoTweaks to the wcwidth() algorithm in QRF, for better agreement with
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.

FossilOrigin-Name: 35f39f7cb1030b1a57f2921f50ab600496fc1e774593717845e87f2e47dc49ba

2 months agoImprovement implementation of the previous check-in: runs faster.
drh [Sun, 30 Nov 2025 17:47:27 +0000 (17:47 +0000)] 
Improvement implementation of the previous check-in: runs faster.

FossilOrigin-Name: 484d1fd2a240c8fd006e7794936d6678b8db792a8b2b30d2ae5baf5a1b19463a

2 months agoBlock injection of hyper-oversized SQL inputs into the parser.
drh [Sun, 30 Nov 2025 17:26:53 +0000 (17:26 +0000)] 
Block injection of hyper-oversized SQL inputs into the parser.

FossilOrigin-Name: 42b6dab92464833eeae5fb261ed689e4b632132d7c8e1ea920aeeb5d50091ab7

2 months agoMore tweaks to the README.md file.
drh [Sun, 30 Nov 2025 11:12:37 +0000 (11:12 +0000)] 
More tweaks to the README.md file.

FossilOrigin-Name: 1d79220ac9f6ad783dee48d341ebc9bb58f357b585baf1612b5aebbf8ad0cccb

2 months agoCorrect to the README.md file.
drh [Sun, 30 Nov 2025 10:49:09 +0000 (10:49 +0000)] 
Correct to the README.md file.

FossilOrigin-Name: 3cd3256c7c595f54c8c12fafd1fb60349db82f69eb54fd9896b24db46a8b00d0

2 months agoDoc typo fix.
stephan [Sun, 30 Nov 2025 07:56:40 +0000 (07:56 +0000)] 
Doc typo fix.

FossilOrigin-Name: a2b53a71e9354260c7fd0ada093cebd56a20a04add12ff2a2d788c386bf8964f

2 months agoAdd sqlite3_db_handle() to the list of functions which are guaranteed to preserve...
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].

FossilOrigin-Name: 78bdc766330c35dbfa8b187854c48c3aff66a9d58796c9c20f3a5701e1ee4351

2 months agoAdditional defenses against using the ".open" command of the CLI in --safe
drh [Sat, 29 Nov 2025 18:59:58 +0000 (18:59 +0000)] 
Additional defenses against using the ".open" command of the CLI in --safe
mode.

FossilOrigin-Name: eec0b80e53bb54ee05a4903cfb967cc2914cdcc735f1218922a0f9c80399c3e8

2 months agoUpdate the documentation to sqlite3_str_finish(). That function might
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().

FossilOrigin-Name: b2e980ede581625e37701f54833e5615d31a1b821ddaf52a26798494f847e640

2 months agoHandle empty string values in columnar modes without NULL pointer
drh [Sat, 29 Nov 2025 18:18:15 +0000 (18:18 +0000)] 
Handle empty string values in columnar modes without NULL pointer
dereferences.

FossilOrigin-Name: 7927dbc5ebc76233325e45bd24181dbc5c3636e271f9352cf530f41dad6ba66d

2 months agoFix an assertion fault in sqlite3Dequote() that can occur with
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.

FossilOrigin-Name: 2dc73eb2d215178c448b182ebb227bc4753ad7baf46c8bd58f20a2b22e998726

2 months agoCorrect a doc falsehood - jquery.terminal does not require pre-building.
stephan [Fri, 28 Nov 2025 17:56:22 +0000 (17:56 +0000)] 
Correct a doc falsehood - jquery.terminal does not require pre-building.

FossilOrigin-Name: 4384c9a108b58a0b8c38c51678aad871f088358b9bff3922299cc7ddb3d247ce

2 months agoFiddle build: if JQTERM is set to the dir name of a built jquery.terminal checkout...
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.

FossilOrigin-Name: 9dd16f8e3b8e181ff138b4061c9dbc116cbc6f85ee867a97cd8af6e9e874c7d1

2 months agoMinor doc updates.
stephan [Fri, 28 Nov 2025 16:23:24 +0000 (16:23 +0000)] 
Minor doc updates.

FossilOrigin-Name: 66b0f28958311204270053ef1d5e66c0ad04e3a52f2570c543b6d319d75798fa

2 months agoFix a problem in the xFilter() method of the fts5_vocab virtual table causing it...
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.

FossilOrigin-Name: 6c99e81e6c49c078f1b00952774a7007c60dc1b4ba8a8fc11357efe9c9233212

2 months agoRename c-pp::ARGV to c-pp::argv and remove its use from the license header (where...
stephan [Fri, 28 Nov 2025 02:34:08 +0000 (02:34 +0000)] 
Rename c-pp::ARGV to c-pp::argv and remove its use from the license header (where it doesn't get applied).

FossilOrigin-Name: a2e18d299c8fd7360de246fdc3a2f92025bf321e06c5baf6032ba98854733e60

2 months agoEnsure that the CLI always jumps to the code that frees memory allocations
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.

FossilOrigin-Name: 50eaf4266f184963e85ad6235fb3410bf4992db8b3dc7c92be23a2f143c12a6b

2 months agoFix an utterly harmless memory leak that occurs when the CLI exits due
drh [Thu, 27 Nov 2025 11:40:40 +0000 (11:40 +0000)] 
Fix an utterly harmless memory leak that occurs when the CLI exits due
to an error in the command-line arguments.

FossilOrigin-Name: 55942e6d582d421187f2806dc93ea931b64dbb4025203540af654f56d1c9bc36

2 months agoEnsure that the split-column transformer in QRF correctly
drh [Thu, 27 Nov 2025 11:29:14 +0000 (11:29 +0000)] 
Ensure that the split-column transformer in QRF correctly
transforms the abNum[] array.

FossilOrigin-Name: ea67d8b001d1be3b0410ca697ff7ddda71c957c8ecb6d76e75133ba39b754623

2 months agoFix a CLI test case due to a change in error message text.
drh [Thu, 27 Nov 2025 10:57:06 +0000 (10:57 +0000)] 
Fix a CLI test case due to a change in error message text.

FossilOrigin-Name: cf45d534d63878b00d949234e81cf9c67db7d7067bbac2fd5cd1780463fcce06

2 months agoFix two harmless compiler warnings in FTS3.
drh [Thu, 27 Nov 2025 01:32:07 +0000 (01:32 +0000)] 
Fix two harmless compiler warnings in FTS3.

FossilOrigin-Name: fd9158e6359a85c509e29ddbb333e5ee5d20aae5dc38cd14425286e5f3764b06

2 months agoImprovements to the QRF README.md file to help clarify how to use it.
drh [Wed, 26 Nov 2025 22:58:26 +0000 (22:58 +0000)] 
Improvements to the QRF README.md file to help clarify how to use it.

FossilOrigin-Name: ff589e9e0da99e2248bc7a8bff37e1deb7cbdf8285c18467acd89b65c67401d3

2 months agoDo not omit the beginning and ending margins when setting bBorder to QRF_Off,
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.

FossilOrigin-Name: 2892aaeed9f55ad87791491068493c2e530eeff4194d156f16745d185760797c

2 months agoIn QRF, if the horizontal alignment is QRF_ALIGN_Auto, then use right
drh [Wed, 26 Nov 2025 17:23:11 +0000 (17:23 +0000)] 
In QRF, if the horizontal alignment is QRF_ALIGN_Auto, then use right
alignment for numeric values and left alignment for everything else.

FossilOrigin-Name: 5fdedc69b1ac05bcdc40ee30c1473be75d3afe89e031d750c8fc3dcfa9846d5b

2 months agoAdd the bBorder option to the QRF spec. Reflect this in the -border
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.

FossilOrigin-Name: 02cbeb69884cd884d9b1b5f59c4168a3dc24b1a5aecc6967586c0be350b10574

2 months agoFix a buffer overread in fts5 that might occur while processing a corrupt db.
dan [Wed, 26 Nov 2025 13:58:53 +0000 (13:58 +0000)] 
Fix a buffer overread in fts5 that might occur while processing a corrupt db.

FossilOrigin-Name: 8b0cbc18be3c6f2501b102757af6be98c48044a296104cca7bce822ac2304515

2 months agoConsistently use IsSpace()/IsDigit() instead of isspace()/isdigit() in shell.c.in...
stephan [Wed, 26 Nov 2025 13:24:10 +0000 (13:24 +0000)] 
Consistently use IsSpace()/IsDigit() instead of isspace()/isdigit() in shell.c.in to squelch warnings on Cygwin. From Jan Nijtmans.

FossilOrigin-Name: aa9d7365bb8d8a9d44388dc89dea09428d7cea2f9fba482cb56980b51b16b143

2 months agoFix the sha1() extension function so that it returns actual TEXT instead
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]

FossilOrigin-Name: 6f806656a3f5ce9a79b18be057d880faca506f66cd4de4b5d77393c266cfb6d2

2 months agoTweak testrunner.tcl to allow it to use more cores.
drh [Wed, 26 Nov 2025 00:41:20 +0000 (00:41 +0000)] 
Tweak testrunner.tcl to allow it to use more cores.

FossilOrigin-Name: 71b916d4de7a4611f6ada597bfd58b59cab18e3a732de17c92b7346ecff31c04

2 months agoWhen "testrunner.tcl status -d N" is run but the test database is not yet
drh [Tue, 25 Nov 2025 23:59:31 +0000 (23:59 +0000)] 
When "testrunner.tcl status -d N" is run but the test database is not yet
available, it enters a wait loop until the testing begins.

FossilOrigin-Name: 7abc25ff3b24b11c171e715ae96c8e97651d340b7a8bb8125a73902e1ad881ab

2 months agoFix typo in the MAKE.BAT
drh [Tue, 25 Nov 2025 22:50:39 +0000 (22:50 +0000)] 
Fix typo in the MAKE.BAT

FossilOrigin-Name: bf54e5fccdf7cd274f3e91a7fd4a23c85f42c0e3163d84ecdb5b9097bdc940d8

2 months agoAdd two new makefile targets, "errors" and "status", for checking on testrunner
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.

FossilOrigin-Name: 838b7fd5d46ed65f22d1da6256fcf979385e37edc8aec4f19064c2c3dc13f2de

2 months agoCherry-pick JS fixes/cleanups/docs from [206275292217], [256c1dd2c367], and [dec0c607...
stephan [Tue, 25 Nov 2025 19:29:23 +0000 (19:29 +0000)] 
Cherry-pick JS fixes/cleanups/docs from [206275292217], [256c1dd2c367], and [dec0c6073cc1] from the kvvfs-v2 branch into trunk.

FossilOrigin-Name: cdd3e700f59e5c30241cd5c6d9ea31f6a5f1c7130c6341b4e0b6dc32b06f3c79

2 months agoGuard access to a piece of Emscripten-related scaffolding so that sqlite3-api.js...
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].

FossilOrigin-Name: cb9cf028fcefa8ec51415b5dac886c2443b2ed207fa388dbc3d725dcc85fe092

2 months agoFix subtle inaccuracies in qrfWrapLine(). Omit an unused variable from shell.c.in.
drh [Tue, 25 Nov 2025 18:20:33 +0000 (18:20 +0000)] 
Fix subtle inaccuracies in qrfWrapLine().  Omit an unused variable from shell.c.in.

FossilOrigin-Name: 5804ba4874cc41b11e8bb559d5533283c2895d2b13316830955663575567f911

2 months agoFix a typo in fts3/4 debugging code allowing 'maxpendinXY' to act as a synonym for...
dan [Tue, 25 Nov 2025 15:11:34 +0000 (15:11 +0000)] 
Fix a typo in fts3/4 debugging code allowing 'maxpendinXY' to act as a synonym for 'maxpending=' in special INSERT statements.

FossilOrigin-Name: 5af554337af3052a5fd734c05883700dd42d140d99d41154b60e1a0f559e5023

2 months agoWork around an incorrect compiler warning on Mac.
drh [Tue, 25 Nov 2025 13:58:36 +0000 (13:58 +0000)] 
Work around an incorrect compiler warning on Mac.

FossilOrigin-Name: d4c1d3e30b774802a7abd5f61807a690fb5be7617459f3dbd7ec1efceb6125d7

2 months agoFixes to .mode in the CLI. "qbox" sets the correct null value.
drh [Tue, 25 Nov 2025 12:16:56 +0000 (12:16 +0000)] 
Fixes to .mode in the CLI.  "qbox" sets the correct null value.
The "--quote on" option sets the null value to NULL.

FossilOrigin-Name: 5454ec46e162247afa178c8532a0fa19eb05897417ac5b3d2a2ed14bfd331a75

2 months agoOmit the unused bTextNull flag from the QRF spec object.
drh [Tue, 25 Nov 2025 10:53:39 +0000 (10:53 +0000)] 
Omit the unused bTextNull flag from the QRF spec object.

FossilOrigin-Name: 4bbf176a87b1bedcce0359b70bbf6831a1e458d48c91dcba49f5e00bb38ecaa1

2 months agoFix typos in the help text for ".mode" of the CLI.
drh [Tue, 25 Nov 2025 00:21:27 +0000 (00:21 +0000)] 
Fix typos in the help text for ".mode" of the CLI.

FossilOrigin-Name: fddb99c5162ba12a6e3c87e96583d57bae217339b4dd6dc44c3538e738fbf625

2 months agoAdd the --blob-quote option to the ".mode" command in the CLI.
drh [Mon, 24 Nov 2025 18:31:13 +0000 (18:31 +0000)] 
Add the --blob-quote option to the ".mode" command in the CLI.

FossilOrigin-Name: 76a986b10d284b25915a07b7150ef1b85f4ef7d48d4e5315b13e7d1532cb97f1

2 months agoChange some 32-bit integers in fts3_write.c to 64-bit to reduce the chances of intege...
dan [Mon, 24 Nov 2025 17:44:17 +0000 (17:44 +0000)] 
Change some 32-bit integers in fts3_write.c to 64-bit to reduce the chances of integer overflow.

FossilOrigin-Name: 8f8a7224c1e0173764757d5022de60abec3babdc3d4131632805e0b04d1a65bf

2 months agoAdd the QRF_BLOB_Size encoding for BLOBs in QRF.
drh [Mon, 24 Nov 2025 16:46:08 +0000 (16:46 +0000)] 
Add the QRF_BLOB_Size encoding for BLOBs in QRF.

FossilOrigin-Name: bafff695d34202377b937cb4ca9f8a7611ae286d9ab927e6c71faa3cd99496e5

2 months agoAvoid an assert() failure caused by processing a CREATE TABLE AS ... command that...
dan [Mon, 24 Nov 2025 16:04:07 +0000 (16:04 +0000)] 
Avoid an assert() failure caused by processing a CREATE TABLE AS ... command that generates very long column names.

FossilOrigin-Name: 06554a079d6b299986fc5eeb201595fad14f77c0efcf2d65bd2f36bbc325892c

2 months agoAvoid signed integer overflow that may occur in a non-default build when processing...
dan [Mon, 24 Nov 2025 15:40:10 +0000 (15:40 +0000)] 
Avoid signed integer overflow that may occur in a non-default build when processing a very large CREATE TABLE AS ... statement.

FossilOrigin-Name: b7417497d1fdbf588a8aca8499d27dee560d728a1eafbf44b34fe3b119423d98

2 months agoShow just the list of available modes and omit the current mode display
drh [Mon, 24 Nov 2025 13:26:06 +0000 (13:26 +0000)] 
Show just the list of available modes and omit the current mode display
for the ".mode --list" command in the CLI.

FossilOrigin-Name: b9b2761fe79d9cc52365eef6bc34c7442972c5410517ff69926397cc7974ae33

2 months agoIn the CLI on the ".mode" command, replace the recently added --no-limits option...
drh [Mon, 24 Nov 2025 13:24:58 +0000 (13:24 +0000)] 
In the CLI on the ".mode" command, replace the recently added --no-limits option with
"--limits L,C".  And add --sw as an alias for --screenwidth.

FossilOrigin-Name: cff0978587a4193b57b0384a587bf89174be2fd91cff4d40130babef1dc8431e

2 months agoDoc typo fix.
stephan [Mon, 24 Nov 2025 13:22:26 +0000 (13:22 +0000)] 
Doc typo fix.

FossilOrigin-Name: d96cc772f0423f3f2b6ee0b0fb3d7e133cc4981cc7be76527a6d43792ece74e2

2 months agoAdd the fail-on-malloc()-error patch to the autosetup maintenance docs.
stephan [Mon, 24 Nov 2025 13:10:23 +0000 (13:10 +0000)] 
Add the fail-on-malloc()-error patch to the autosetup maintenance docs.

FossilOrigin-Name: 526b88fb9b270e780660b97fc14f41583885a3d801f0ed17e0e35ebd61749b26

2 months agoChange our local copy of the third-party jimsh0.c program (used only
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.

FossilOrigin-Name: 72c8a5b94cdf5da7e2b197e02c9d5d98fe415cd731c3893acf3ba69bb4dde37a

2 months agoAdd the long-missing sqlite3_next_stmt() binding to JS/WASM.
stephan [Sun, 23 Nov 2025 22:18:26 +0000 (22:18 +0000)] 
Add the long-missing sqlite3_next_stmt() binding to JS/WASM.

FossilOrigin-Name: de27d2d3f2353309227b4d5f77eff76c108c094b61ac59f5a769229a084f2567

2 months agoNew test case for bSplitColumn in QRF.
drh [Sun, 23 Nov 2025 10:55:38 +0000 (10:55 +0000)] 
New test case for bSplitColumn in QRF.

FossilOrigin-Name: 6d01f9f49eef5f7d4bddadc458691b6ca36e277bae1d4b43b60a128a44e3faca

2 months agoIn QRF in bSplitColumn mode, increase the spacing between columns to be as
drh [Sun, 23 Nov 2025 00:45:47 +0000 (00:45 +0000)] 
In QRF in bSplitColumn mode, increase the spacing between columns to be as
wide as five, for improved legibility, if screen width allows.

FossilOrigin-Name: 673648cc812e1549c2b3e7749306e7395d0b7e396a7d5ac432948eb3a6c3713f

2 months agoUse the new "split" mode to simplify and improve the implementation of
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.

FossilOrigin-Name: b73df612b621699cd58de6ef327fefdeb8f52eb620f0d2df00d38ff6608a8dd5

2 months agoAdd "split" mode in the CLI. Fix CLI commands given on the command line
drh [Sat, 22 Nov 2025 23:34:53 +0000 (23:34 +0000)] 
Add "split" mode in the CLI.  Fix CLI commands given on the command line
so that they honor --once in prior commands.

FossilOrigin-Name: 2530f04d1bb02b800fda83544f5b5dcd42f52b3e56ad625cd03b40e42f24ac6b

2 months agoAdd the --no-limits option to the .mode command in the CLI.
drh [Sat, 22 Nov 2025 21:47:48 +0000 (21:47 +0000)] 
Add the --no-limits option to the .mode command in the CLI.

FossilOrigin-Name: 3cee168e8801481f6d909fb5d20a773b9c6ca0b8daedfc301c9d762a17f9d839

2 months agoIn QRF, change the name of the bWrapSnglCol flag to bSplitColumn.
drh [Sat, 22 Nov 2025 21:34:33 +0000 (21:34 +0000)] 
In QRF, change the name of the bWrapSnglCol flag to bSplitColumn.
Similar changes to the TCL interface.

FossilOrigin-Name: 76512b3b80fdcaae22340cde0b69857e2a4d7e86a63c6759465bd8a0bcbf82bc

2 months agoCherrypick [0b53be562f1e] into trunk.
stephan [Sat, 22 Nov 2025 19:29:23 +0000 (19:29 +0000)] 
Cherrypick [0b53be562f1e] into trunk.

FossilOrigin-Name: e86e5723d778721b10c1c908545c56233d4d5549a7ca3b7cf8ca649c70450add

2 months agoIgnore semicolons at the end of dot-commands, if the compatibility date is
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]

FossilOrigin-Name: 7a9e753e977ff61ceee50c4e0e5f9b1fc179e91acd9ac88378c888b3e45ebe3a

2 months agoCherrypick [e0b33b51229a] for the latest wasmutil/jaccwabyt - all tests are happy...
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.

FossilOrigin-Name: 0be777bd6cc6c6b4f52d948cdba7e9c30ad062a35c659512b3f3f89f53aaba25

2 months agoImplementation of bWrapSnglCol in QRF.
drh [Sat, 22 Nov 2025 00:38:17 +0000 (00:38 +0000)] 
Implementation of bWrapSnglCol in QRF.

FossilOrigin-Name: 4bbd3f7ead50c0babd7843f58972e2e1762a84866cc4ed88a2a74375b13da11c

2 months agoAdd the bWrapSnglCol flag to the QRF spec, though it is not yet documented
drh [Fri, 21 Nov 2025 20:10:12 +0000 (20:10 +0000)] 
Add the bWrapSnglCol flag to the QRF spec, though it is not yet documented
and does not yet work.  Fix column output so that it omits trailing space.

FossilOrigin-Name: a858027fc92727c680b7e984303df7f9e0a2d90c860c547176f290b113a69390

2 months agoNeed a double-underscore prefix on the cplusplus macro
drh [Fri, 21 Nov 2025 19:47:13 +0000 (19:47 +0000)] 
Need a double-underscore prefix on the cplusplus macro

FossilOrigin-Name: 04394387e626cd99ff98df978c4b7f2d32f65760e0c26e53f1ef4f59e4e91a4f

2 months agoFix the qrf.h header so that it is usable from C++
drh [Fri, 21 Nov 2025 19:01:26 +0000 (19:01 +0000)] 
Fix the qrf.h header so that it is usable from C++

FossilOrigin-Name: 1105b710934cf4a243c64d37dd147bc9378c0f7aa55a99891b7ac6e8f8f17f88

2 months agoFix typo in the implementation of the ".schema" command of the CLI for the
drh [Fri, 21 Nov 2025 17:30:44 +0000 (17:30 +0000)] 
Fix typo in the implementation of the ".schema" command of the CLI for the
case when there are ATTACH-ed databases.

FossilOrigin-Name: 8a230e4da230a7b103749b069a99a58e4c220873c2f9576abdc928c3538d70b3

2 months agoAdd new file missing from [3c4061428544].
stephan [Fri, 21 Nov 2025 15:03:38 +0000 (15:03 +0000)] 
Add new file missing from [3c4061428544].

FossilOrigin-Name: 41f94eca01d8317364aa60ddd8e5fe3cd21a215040ef271a157d450a914139d0

2 months agoEnhance ALTER TABLE to support adding and removing NOT NULL and CHECK
drh [Fri, 21 Nov 2025 14:15:56 +0000 (14:15 +0000)] 
Enhance ALTER TABLE to support adding and removing NOT NULL and CHECK
constraints.

FossilOrigin-Name: 895498e4431e02cff65a5d96db22f0b0cb9c96aedf1e3cdcdeb3c34c6fec432b

2 months agoFix the QRF so that it omits the closing text from styles "json" and "jobject"
drh [Fri, 21 Nov 2025 11:00:29 +0000 (11:00 +0000)] 
Fix the QRF so that it omits the closing text from styles "json" and "jobject"
when the result set it empty.

FossilOrigin-Name: e1ba175124be83da4db6d5d4e583b9b3b7dcb82e983c6f185d590469dcdc3139

2 months agoMove the JS pieces of kvvfs into their own file to facilitate pending feature experim...
stephan [Fri, 21 Nov 2025 10:49:32 +0000 (10:49 +0000)] 
Move the JS pieces of kvvfs into their own file to facilitate pending feature experimentation.

FossilOrigin-Name: 3c40614285449df259a3444e36f888cfb5e782ea58287914f97f496ea61e9e9f

2 months agoTest cases for the fix in the prior check-in.
drh [Thu, 20 Nov 2025 22:46:27 +0000 (22:46 +0000)] 
Test cases for the fix in the prior check-in.

FossilOrigin-Name: 4d41bee75eda51251121c8e3903f47941116e5182238a03f41a593c47efb6fcf

2 months agoPreserve auto-explain mode across mode changes, as has always been the
drh [Thu, 20 Nov 2025 21:08:46 +0000 (21:08 +0000)] 
Preserve auto-explain mode across mode changes, as has always been the
case before.

FossilOrigin-Name: 8896185ae0b0af8918aa8ce449f18759e6ae60358afbac1019397bae307b15d5

2 months agoFix hwtime.h (broken by [305bb022368bac9f]) so that unamalgamated windows
drh [Thu, 20 Nov 2025 12:41:26 +0000 (12:41 +0000)] 
Fix hwtime.h (broken by [305bb022368bac9f]) so that unamalgamated windows
builds work again.

FossilOrigin-Name: 1245319257d03a00eddbc8ff4b43b5813f8a567a12a9957f923bef58c85c0c20

2 months agoRemove an extraneous loop level from the JS bootstrapping bits.
stephan [Thu, 20 Nov 2025 12:14:03 +0000 (12:14 +0000)] 
Remove an extraneous loop level from the JS bootstrapping bits.

FossilOrigin-Name: 86817b4e9f011d296fb420be95269fecb54fb48a220bce84020e3af2d2c164a4

2 months agoEnable the SQLITE_EXPERIMENTAL_PRAGMA_20251114 in the WASM builds for the sake of...
stephan [Thu, 20 Nov 2025 12:12:55 +0000 (12:12 +0000)] 
Enable the SQLITE_EXPERIMENTAL_PRAGMA_20251114 in the WASM builds for the sake of VFS experimentors. The links in the comments describe what that does.

FossilOrigin-Name: aaa55a3ebf8e725443030be5f31ac7fc0766c1f3c771ce69852f31e7e6f165b9

2 months agoUse sqlite3MPrintf() instead of sqlite3_mprintf() internally in alter.c, alter-table-constraints
drh [Thu, 20 Nov 2025 11:06:58 +0000 (11:06 +0000)] 
Use sqlite3MPrintf() instead of sqlite3_mprintf() internally in alter.c,
for improved OOM reporting.

FossilOrigin-Name: 57555d75daa2ee8345f8329749841a322b3e57679e5c4899ef749c8bc814812d

2 months agoAdditional checks for OOM conditions.
drh [Thu, 20 Nov 2025 02:03:57 +0000 (02:03 +0000)] 
Additional checks for OOM conditions.

FossilOrigin-Name: 8fafd4988bf1fa1aa799c2834dd31bebdd52e7ae8e68c0197ccb497eb9b1e5f6

2 months agoMark an unreachable branch with NEVER().
drh [Thu, 20 Nov 2025 00:56:28 +0000 (00:56 +0000)] 
Mark an unreachable branch with NEVER().

FossilOrigin-Name: df2259a32fd65986eafceb2c551e6e1661927f1f5b18dbb97c59d9627279eea0

2 months agoCall sqlite3OomFault() rather than setting db->mallocFailed directly.
drh [Wed, 19 Nov 2025 23:11:56 +0000 (23:11 +0000)] 
Call sqlite3OomFault() rather than setting db->mallocFailed directly.

FossilOrigin-Name: 4fd5dfa215f14b20ddfc55904acbcc9bc9fd2123bb06fff72ef76efa17304566

2 months agoFix three harmless declaration-after-statement warnings in the new CLI code.
drh [Wed, 19 Nov 2025 19:37:28 +0000 (19:37 +0000)] 
Fix three harmless declaration-after-statement warnings in the new CLI code.

FossilOrigin-Name: b65b29656c835db22557733f4dcfe906bf21a7a3c36266cbbc7e3277f029b901

2 months agoImproved comments in code. Omit unneeded wrapper functions.
drh [Wed, 19 Nov 2025 15:25:18 +0000 (15:25 +0000)] 
Improved comments in code.  Omit unneeded wrapper functions.

FossilOrigin-Name: 3485c7c81bee8e98ea6b403438bcdb2b6fa058afeafea150ce1c859345e1529b

2 months agoStrip unterminated "--" comments from the end of constraints added using ALTER TABLE...
dan [Wed, 19 Nov 2025 11:31:59 +0000 (11:31 +0000)] 
Strip unterminated "--" comments from the end of constraints added using ALTER TABLE ADD CONSTRAINT or ADD NOT NULL.

FossilOrigin-Name: c73ab47b0250c01f1ffa6e506793769744ebeb8ca7edbb78de9a08db2037d6de

2 months agoClarification to the header comment on dropConstraintFunc(). No changes
drh [Wed, 19 Nov 2025 11:28:48 +0000 (11:28 +0000)] 
Clarification to the header comment on dropConstraintFunc().  No changes
to code.

FossilOrigin-Name: 4bd53fbb20d78de7bbff1154e7ee1321b93b0ede435e150ad4ee992a4108ad5a

2 months agoTrivial simplification to the ALTER TABLE ADD CONSTRAINT code.
drh [Wed, 19 Nov 2025 10:26:49 +0000 (10:26 +0000)] 
Trivial simplification to the ALTER TABLE ADD CONSTRAINT code.

FossilOrigin-Name: 383965b3ba701d3627e0bbd09ad04d0ce00d4721497d82e241dc7cffa745b1d9

2 months agoMerge the latest trunk changes into the alter-table-constraints branch.
drh [Tue, 18 Nov 2025 19:36:45 +0000 (19:36 +0000)] 
Merge the latest trunk changes into the alter-table-constraints branch.

FossilOrigin-Name: 31d7aeeaef20ac42c3c395dbaf7a8225ac718256a4cbeb7c198d1c7361766b1b

2 months agoDo not attempt to make the generated file "shell.c" read-only. This turns
drh [Tue, 18 Nov 2025 19:11:21 +0000 (19:11 +0000)] 
Do not attempt to make the generated file "shell.c" read-only.  This turns
out to be annoying in general, and especially annoying on macs.

FossilOrigin-Name: 6ab18d036a3e412ee01806a40f69aca2b77283bd5336df27597cc19d32e6e6f2

2 months agoNew subcomponent, the Query Result Formatter (QRF), that formats query
drh [Tue, 18 Nov 2025 17:49:48 +0000 (17:49 +0000)] 
New subcomponent, the Query Result Formatter (QRF), that formats query
results for display to humans on a fixed-width font terminal.  Rework the
CLI to make use of the QRF.  Renovate the .mode command of the CLI.  Also
incorporate the QRF into the TCL interface as the "format" method.

FossilOrigin-Name: 7e460ffa5aae884807db9e7c8214d6d822d5d38ea406fe3b3eac04ac16f158fa

2 months agoAdd support for SQLITE_LIMIT_PARSER_DEPTH to limit the size of the stack
drh [Tue, 18 Nov 2025 17:27:46 +0000 (17:27 +0000)] 
Add support for SQLITE_LIMIT_PARSER_DEPTH to limit the size of the stack
used by the parser.  This can help prevent deeply nested parse trees that
then cause problems on machines with smaller CPU stacks.  Modify the
%realloc and %free directives of Lemon and add the new %stack_size_limit
directive in support of this capability.

FossilOrigin-Name: 52ba0c731d004409353a55ce8ca5a514ce486a077a2be82db5b8fea7619848d5

2 months agoModify the "%realloc" and "%free" commands in Lemon so that the functions parser-stack-size
drh [Tue, 18 Nov 2025 15:40:02 +0000 (15:40 +0000)] 
Modify the "%realloc" and "%free" commands in Lemon so that the functions
they specify take an extra parameter at the end, the %extra_context pointer.
This allows the implementation to distinguish between OOM errors and
failures to increase the stack size because of the stack size limit.

FossilOrigin-Name: 9862c945d9a8531f9bef123aee9ed1fd3f64542250a57beb3a150227bc3c1a12

2 months agoLower the default stack size for the parse to 50.
drh [Tue, 18 Nov 2025 15:20:22 +0000 (15:20 +0000)] 
Lower the default stack size for the parse to 50.

FossilOrigin-Name: 41fe19ab054acda912bc32dd6f9c6412416ab1af6cf55515e96c89fb55b46424

2 months agoAdd the SQLITE_LIMIT_PARSER_DEPTH value for sqlite3_limit(). This isn't
drh [Tue, 18 Nov 2025 14:48:33 +0000 (14:48 +0000)] 
Add the SQLITE_LIMIT_PARSER_DEPTH value for sqlite3_limit().  This isn't
something that many applications will need, but it is useful for testing.

FossilOrigin-Name: 8f0b07f36159225c476f756f8f9b35c75783bc8bed43b578f4d1055fa800ecc9