]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
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 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 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

2 months agoYet another attempt at controlling the parser stack size.
drh [Tue, 18 Nov 2025 13:03:08 +0000 (13:03 +0000)] 
Yet another attempt at controlling the parser stack size.

FossilOrigin-Name: cb19986dc6bc483df21e082e54a14cb6d7540b1734259e6d326d676908ac0172

2 months agoFix incorrect "#line" generation in Lemon.
drh [Tue, 18 Nov 2025 10:38:41 +0000 (10:38 +0000)] 
Fix incorrect "#line" generation in Lemon.

FossilOrigin-Name: 5c0214df2c0a7470ac2edca0c483a3edd3c39ef0739688ab9a06e23882200360

2 months agoAdd api.oo1=0 flag to ext/wasm/GNUmakefile to strip out the sqlite3.oo1 pieces from...
stephan [Mon, 17 Nov 2025 23:55:41 +0000 (23:55 +0000)] 
Add api.oo1=0 flag to ext/wasm/GNUmakefile to strip out the sqlite3.oo1 pieces from the build. Part of the ongoing response to [forum:4b7d45433731d2e0|forum post 4b7d45433731d2e0].

FossilOrigin-Name: ea48567ac54e4949a8b68977a58a5de7946e074ae8737133071d02f40ac97f34

2 months agoIf SQL is entered as additional command-line arguments to CLI, that counts qrf
drh [Mon, 17 Nov 2025 19:46:04 +0000 (19:46 +0000)] 
If SQL is entered as additional command-line arguments to CLI, that counts
the same as getting input from a pipe or file for the purpose of determining
the default format mode.

FossilOrigin-Name: 3d55ec15a9e4dc8af4bf1e2884eaa2c809995fb1529633f73287dc7a54153629

2 months agoFix a harmless compiler warning.
drh [Mon, 17 Nov 2025 19:19:58 +0000 (19:19 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: 6621737cc05cbf8ff5f576775a8a3c64f666b56d42939968ebb55d72a835646b

2 months agoThe -textjsonb option is on by default in the standard non-batch mode of
drh [Mon, 17 Nov 2025 18:51:55 +0000 (18:51 +0000)] 
The -textjsonb option is on by default in the standard non-batch mode of
the CLI.  New fast screening test for JSONB.

FossilOrigin-Name: fd09f934d64ec07fd56f1b80ab05dafb28b605d5802ff5758eea17d8ad24e3cc

2 months agoCLI comes up in legacy "list" mode if neither stdin or stdout are a tty, or
drh [Mon, 17 Nov 2025 16:44:13 +0000 (16:44 +0000)] 
CLI comes up in legacy "list" mode if neither stdin or stdout are a tty, or
if "--compat 20251114" or earlier is specified, or if "--batch" is used.
New modes "batch" and "tty" select either legacy "list" mode or the newer
"qbox" mode with limits.
Make CVS output compatible with legacy.  Break out ".import" into a separate
subroutine in anticipation of forthcoming improvements.  General code
cleanup.

FossilOrigin-Name: f6bfcea9a01493af182e9aa0d35df6f81bf9e36220df79139afa287fa43d9aa3

2 months agoFix test cases impacted by the use of ~/.sqliterc
drh [Mon, 17 Nov 2025 00:15:14 +0000 (00:15 +0000)] 
Fix test cases impacted by the use of ~/.sqliterc

FossilOrigin-Name: 8fc05faef91186429c6c710991fd736b1df9a9af946c29d207db2518d6436b38

2 months agoFix a bug in ".show". Adjust test cases for the new default mode.
drh [Sun, 16 Nov 2025 23:06:45 +0000 (23:06 +0000)] 
Fix a bug in ".show".  Adjust test cases for the new default mode.

FossilOrigin-Name: 2aebd7bfecaaf1f75b52b05a0d3009fc0dc61289ae666d24cb4e3ddfaf251645

2 months agoDefault .mode is now qbox with limits. New --compat YYYYMMDD command-line
drh [Sun, 16 Nov 2025 17:27:21 +0000 (17:27 +0000)] 
Default .mode is now qbox with limits.  New --compat YYYYMMDD command-line
option, and new -DCOMPATIBILITY_DATE=YYYYMMDD compile-time options can
override.  Command ".mode YYYYMMDD" sets the mode to the default for the
date given.

FossilOrigin-Name: 52e022375961ad9460412e40e100219ee59055eb0ab309cbfc2ab19f61929a45

2 months agoFix a long-standing bug in .schema when the argument contains a ".".
drh [Sun, 16 Nov 2025 10:49:51 +0000 (10:49 +0000)] 
Fix a long-standing bug in .schema when the argument contains a ".".

FossilOrigin-Name: 404576214fc20161cdcb031d57696d6068506309c8faecd3e4424e5ced28046b

2 months agoFix a problem with the new command-line parsing in the CLI.
drh [Sun, 16 Nov 2025 02:32:06 +0000 (02:32 +0000)] 
Fix a problem with the new command-line parsing in the CLI.

FossilOrigin-Name: 3e02804c387c89afde59eef8e464c6011e083e158873e4f8ab1f17bcc12b7c28

2 months agoImproved --safe mode defenses. Fix a test case error.
drh [Sun, 16 Nov 2025 01:34:01 +0000 (01:34 +0000)] 
Improved --safe mode defenses.  Fix a test case error.

FossilOrigin-Name: eacc9db80de8baa878ebdc3a054538c8998db9a2e46720c0d8b109d62a0cac29

2 months agoImproved error detection in the argument to .mode --widths.
drh [Sun, 16 Nov 2025 01:03:53 +0000 (01:03 +0000)] 
Improved error detection in the argument to .mode --widths.

FossilOrigin-Name: 4d774ee495e38282b8701988fe514344ee0e81285692c8d1adc1ee7e22960ad9

2 months agoFix formatting problem in .schema and .fullschema
drh [Sun, 16 Nov 2025 00:56:24 +0000 (00:56 +0000)] 
Fix formatting problem in .schema and .fullschema

FossilOrigin-Name: 4035fb15ff36d139ed4c839fdebb0278e6cf9a2f00298e1a548a8f8317ba14b2

2 months agoHelp text improvements in the CLI.
drh [Sat, 15 Nov 2025 20:10:32 +0000 (20:10 +0000)] 
Help text improvements in the CLI.

FossilOrigin-Name: dcaabd97d5064dd70fb386a2eef55f4301bba4b54915ed6a91d736abe7a04ae8

2 months agoRemove an unused struct.
stephan [Sat, 15 Nov 2025 16:06:03 +0000 (16:06 +0000)] 
Remove an unused struct.

FossilOrigin-Name: 93dd0e62b74a0d99803f680f23953e9fa2429074505ba402ca5ed4610ddef8fb

2 months agoBug fix to the --lineline option in the CLI. Other minor CLI tweaks.
drh [Sat, 15 Nov 2025 15:30:55 +0000 (15:30 +0000)] 
Bug fix to the --lineline option in the CLI.  Other minor CLI tweaks.

FossilOrigin-Name: 40f81a9f9f6ea29144174fbd487f83d150a1be8f35e7496bfc1cfc6a556b6312

2 months agoJNI: when validing the eTextRep argument in sqlite3_create_function(), only validate...
stephan [Sat, 15 Nov 2025 15:30:45 +0000 (15:30 +0000)] 
JNI: when validing the eTextRep argument in sqlite3_create_function(), only validate the lower four bits (the high bits are for other flags). Add flags to test functions to ensure this case is triggered.

FossilOrigin-Name: aab640be7bc5829fe16d2582b13f942b7debb271c150ca2471561de6b2d70dc7

2 months agoColumnar modes respond to nScreenWidth.
drh [Sat, 15 Nov 2025 15:18:41 +0000 (15:18 +0000)] 
Columnar modes respond to nScreenWidth.

FossilOrigin-Name: 60d26ebb4d91cc885b6b938ef2fc2864ebbf5a18d2e456521ee2f4aa3b22eddf

2 months agoReplace the JNI binding's internal use of sqlite3ErrorWithMsg() with sqlite3_set_errm...
stephan [Sat, 15 Nov 2025 15:09:04 +0000 (15:09 +0000)] 
Replace the JNI binding's internal use of sqlite3ErrorWithMsg() with sqlite3_set_errmsg() and have it handle OOM in a way consistent with the rest of the JNI bindings.

FossilOrigin-Name: 0899a9eb3af727f310372f3441573ab506ffec31dca4774e850b2b59a4001ee0

2 months agoRandom JS build cleanups and parallel build mkdir race fixes. Reinstate the recently...
stephan [Sat, 15 Nov 2025 13:30:13 +0000 (13:30 +0000)] 
Random JS build cleanups and parallel build mkdir race fixes. Reinstate the recently-removed [a65bd978cbc646ec] after finding a reformulation which works on Emscripten 4.0.19 (and saves about 85kb on the JS deliverables).

FossilOrigin-Name: acb1525a49463de67716638626406ccde9a282907d0de218ab88bf474ba830ee

2 months agoColumnar formats respond to --screenwidth restrictions by removing
drh [Sat, 15 Nov 2025 12:09:13 +0000 (12:09 +0000)] 
Columnar formats respond to --screenwidth restrictions by removing
cell padding.

FossilOrigin-Name: cbe233ca131118692fd4a84d8fcf0dfca926fa935f66cfb718c235d54084de3d

2 months agoReorder initialization of sqlite3ApiBootstrap()'s bownstrapped config object so that...
stephan [Sat, 15 Nov 2025 11:53:30 +0000 (11:53 +0000)] 
Reorder initialization of sqlite3ApiBootstrap()'s bownstrapped config object so that it's possible to inject the wasm memory and exports via that, to simplify plugging-in of sqlite3-api.js in other builds. Previously the build-provided wasm exports/memory overrode any which a client might want to use.

FossilOrigin-Name: 2bd0addb6068cd2b34f6151a824c578e2253f541a8c55b578219b09c42afd82b

2 months agoGeneric internal JS cleanups towards improving portability of sqlite3-api.js to other...
stephan [Sat, 15 Nov 2025 11:30:45 +0000 (11:30 +0000)] 
Generic internal JS cleanups towards improving portability of sqlite3-api.js to other build systems.

FossilOrigin-Name: 5bc37e5c2fcd83fd0bc40234144072363f1cbf7d811a15b74a0991e397a35eb8

2 months agoData structure improvements on columnar layout. Prep work for getting
drh [Sat, 15 Nov 2025 11:28:23 +0000 (11:28 +0000)] 
Data structure improvements on columnar layout.  Prep work for getting
columnar layouts to respond to nScreenWidth.

FossilOrigin-Name: 777eeb2ed2708faf42559387bd582b9345a794798a0327e4fcd75e37948eac60

2 months agoMove sqlite3-api-cleanup.js into post-js-footer.js to remove the final direct Emscrip...
stephan [Sat, 15 Nov 2025 09:19:03 +0000 (09:19 +0000)] 
Move sqlite3-api-cleanup.js into post-js-footer.js to remove the final direct Emscripten dependency from the intermediary build product sqlite3-api.js (the whole library, waiting to be bootstrapped). This is partly in response to [forum:4b7d45433731d2e0|forum post 4b7d45433731d2e0], which demonstrates a potential use case for a standalone sqlite3-api.js. This is a build/doc change, not a functional one.

FossilOrigin-Name: 2fcbd8e17d8f1dd7e9d45168805dba718777e46803d9375a4212296d3d0cd89c

2 months agoAPI doc typo fix.
stephan [Sat, 15 Nov 2025 08:05:12 +0000 (08:05 +0000)] 
API doc typo fix.

FossilOrigin-Name: c1e9791fbf9e4c2ca6f9f031ea2c26d8b4bfb4d54850a53853f2b2d9620792ef

2 months agoImprove columnar layout in QRF so that it correctly deals with control
drh [Sat, 15 Nov 2025 00:23:09 +0000 (00:23 +0000)] 
Improve columnar layout in QRF so that it correctly deals with control
characters, and especially tabs.

FossilOrigin-Name: 0650e2b83170b44c1ba944259a96d41e1a14a57004d4f1f80dc5640ae837a81e

2 months agoMake use of the new sqlite3_str_free() interface in the CLI.
drh [Fri, 14 Nov 2025 21:49:27 +0000 (21:49 +0000)] 
Make use of the new sqlite3_str_free() interface in the CLI.

FossilOrigin-Name: 2e07bc29ab1ca66049337f2cfbefcd57bdcd691a381b309fb8a5db6e72e56d03

2 months agoEnforce the --charlimit constraint in QRF.
drh [Fri, 14 Nov 2025 21:40:20 +0000 (21:40 +0000)] 
Enforce the --charlimit constraint in QRF.

FossilOrigin-Name: c25f8fdedd8d68e3551a445e24e1c60e105e18f9cf8f1badcbb77a58974f3381

2 months agoMerge the latest trunk enhancements into the qrf branch.
drh [Fri, 14 Nov 2025 20:11:15 +0000 (20:11 +0000)] 
Merge the latest trunk enhancements into the qrf branch.

FossilOrigin-Name: 9ee892b4f97c91208a658f09add00a567406e913edb022a2fd53333ea01c2b26

2 months agoNew interfaces sqlite3_str_truncate() and sqlite3_str_free(). Version number
drh [Fri, 14 Nov 2025 20:09:01 +0000 (20:09 +0000)] 
New interfaces sqlite3_str_truncate() and sqlite3_str_free().  Version number
increases to 3.52.0.

FossilOrigin-Name: fa85534ed927851dc37a4943e83259bff4509f141449226ffb506f9acc7b2cc5

2 months agoFix harmless display bug in previous check-in. Add the -noinit command-line
drh [Fri, 14 Nov 2025 19:04:23 +0000 (19:04 +0000)] 
Fix harmless display bug in previous check-in.  Add the -noinit command-line
option to bypass reading the ~/.sqliterc file.

FossilOrigin-Name: 229650a01dcd9cc4b39526d661106e9c3eb2f90ca7fbed8adc6e6fe85ef3fdaa

2 months agoAdd the --tag and --list options to the ".mode" command.
drh [Fri, 14 Nov 2025 18:41:21 +0000 (18:41 +0000)] 
Add the --tag and --list options to the ".mode" command.

FossilOrigin-Name: 9daf98c2f449688b7463b71dfa926cb4ae96d8c7ee34946df2172bb37f7c5616

2 months agoIf SQLITE_EXPERIMENTAL_PRAGMA_20251114 is defined at build-time, send an experimental...
dan [Fri, 14 Nov 2025 17:27:20 +0000 (17:27 +0000)] 
If SQLITE_EXPERIMENTAL_PRAGMA_20251114 is defined at build-time, send an experimental pragma file-control to the VFS if a call to take a SHARED lock is to be immediately followed by one to take a RESERVED.

FossilOrigin-Name: e2b3f1a9480a9be3e06c2d79abcf39f399b5adf2ca882841b3b3fa199c239dd8

2 months agoSlight restructure of the previous checkin.
stephan [Fri, 14 Nov 2025 17:23:24 +0000 (17:23 +0000)] 
Slight restructure of the previous checkin.

FossilOrigin-Name: 8ff98747c072c8c333b1b37cf4ec9344e84f081bd4e6d3b5e75f37b1e1ce9e84

2 months agoAdd the --once option to the .mode command. Improvements to help text.
drh [Fri, 14 Nov 2025 17:11:06 +0000 (17:11 +0000)] 
Add the --once option to the .mode command.  Improvements to help text.

FossilOrigin-Name: 253980122a35f787423aaeedbec12ec94b31768f245fe1c1fcc7e08911855c60

2 months agoIn sqlite3-api-cleanup.js, if no Emscripten module is detected then simply return...
stephan [Fri, 14 Nov 2025 16:56:51 +0000 (16:56 +0000)] 
In sqlite3-api-cleanup.js, if no Emscripten module is detected then simply return, rather than throw. This should enable the generated sqliet3-api.js (normally an intermediary file) to be used as-is, with the caveat that the caller has to bootstrap the library themselves.

FossilOrigin-Name: d64c9cd4c7a1ffe04de6c75126563d7bbb24266e13d41406f6d55720b8199037

2 months agoRemove a harmless duplicated makefile var assignment from mkwasmbuilds.c.
stephan [Fri, 14 Nov 2025 15:03:55 +0000 (15:03 +0000)] 
Remove a harmless duplicated makefile var assignment from mkwasmbuilds.c.

FossilOrigin-Name: 4b4a6fbe20d51689e0abc65beed078bbb9418383e69eb8ec13f0657e2cf13bfd

2 months agoFix harmless compiler warnings. Incorporate "USAGE:" comments on dot-command
drh [Fri, 14 Nov 2025 14:59:43 +0000 (14:59 +0000)] 
Fix harmless compiler warnings.  Incorporate "USAGE:" comments on dot-command
implementations into the CLI ".help" command output.

FossilOrigin-Name: 046bfab4a01e8a7cc58d1bdf0756c90ba354562d79e5453c08202daf648e76a6

2 months agoFix a makefile ordering bug which caused certain builds to fail unless others had...
stephan [Fri, 14 Nov 2025 14:42:00 +0000 (14:42 +0000)] 
Fix a makefile ordering bug which caused certain builds to fail unless others had already been built. Remove the superfluous sqlite3-node.wasm from the final deliverables dir (sqlite3-node.mjs uses sqlite3.wasm instead).

FossilOrigin-Name: fd70088284946b9d4315781b3f68133cc0abd4244247f2fce04044feab8a97c0

2 months agoFix various bugs and compiler warnings. All tests now passing on linux, mac,
drh [Fri, 14 Nov 2025 13:07:45 +0000 (13:07 +0000)] 
Fix various bugs and compiler warnings.  All tests now passing on linux, mac,
and windows.  More testing needed, though.

FossilOrigin-Name: 2220cb70c2f1ee30dcdf917a20feacdfcb3789433d0645fea626fd4c5cf0d099

2 months agoMerge compiler-warning fix from trunk into the qrf branch.
drh [Fri, 14 Nov 2025 11:06:27 +0000 (11:06 +0000)] 
Merge compiler-warning fix from trunk into the qrf branch.

FossilOrigin-Name: 6ffab43ca32230975e79d91080dfa2e80a4c21deef31ab86455581af18a399cd

2 months agoFix a harmless compiler warning in testing code.
drh [Fri, 14 Nov 2025 11:02:49 +0000 (11:02 +0000)] 
Fix a harmless compiler warning in testing code.

FossilOrigin-Name: 5252a2e629e1adb61169d32ca6458c6decd1ec562f358bb9d0b448a2f0243c56

2 months agoFix a memory error in the .schema command.
drh [Fri, 14 Nov 2025 10:42:29 +0000 (10:42 +0000)] 
Fix a memory error in the .schema command.

FossilOrigin-Name: 3300ed34b5a3598c46cdc4bdf1e9e81818a5029585ae917424f64c11c718bfa8

2 months agoSuppress a harmless compiler warning.
drh [Fri, 14 Nov 2025 03:26:48 +0000 (03:26 +0000)] 
Suppress a harmless compiler warning.

FossilOrigin-Name: 89cf1de7b6abff567c70d52a415eea6deb52fc13c3008c1266a77b61e3711217

2 months agoMerge all the latest trunk enhancements into the qrf branch.
drh [Fri, 14 Nov 2025 02:27:58 +0000 (02:27 +0000)] 
Merge all the latest trunk enhancements into the qrf branch.

FossilOrigin-Name: 97b06e58ed128a1d60b89437ddf0ad80df528b8dbfdb6a7637374fc1ab4ddb10

2 months agoImprovements to --titles handling in the .mode command. Fix shell1 test
drh [Fri, 14 Nov 2025 02:22:39 +0000 (02:22 +0000)] 
Improvements to --titles handling in the .mode command.  Fix shell1 test
cases having to do with quoting of NULL values in "tcl" mode.

FossilOrigin-Name: 0fef770bd654b8ba8011b0bb610128058e75e8444f86c51e7ea59a6f2625a3fc

2 months agoA better fix for the issue with RETURNING triggers on eponymous virtual tables and...
dan [Thu, 13 Nov 2025 20:37:09 +0000 (20:37 +0000)] 
A better fix for the issue with RETURNING triggers on eponymous virtual tables and SQLITE_SCHEMA errors first addressed by [45d820ca22].

FossilOrigin-Name: bf399992cb98e5d5f002a90b521328d5c2f113ebab8601653452d78222077bde

2 months agoAdd an OOM test case for the issue with dropping RETURNING triggers when the schema...
dan [Thu, 13 Nov 2025 18:02:22 +0000 (18:02 +0000)] 
Add an OOM test case for the issue with dropping RETURNING triggers when the schema is reset while preparing a statement that uses an eponymous vtab.

FossilOrigin-Name: dc569288dd63754269e14be7a9937c882531685a3e9caec25f86ec8c01eb9583

2 months agoAdd better test case for the issue with dropping RETURNING triggers when the schema...
dan [Thu, 13 Nov 2025 17:42:55 +0000 (17:42 +0000)] 
Add better test case for the issue with dropping RETURNING triggers when the schema is reset while preparing a statement.

FossilOrigin-Name: 6a9fdde109865b23888f099d066721404e8b853f3dacd55ce08c8bbda2491ec3

2 months agoGeneric makefile cleanups and doc updates.
stephan [Thu, 13 Nov 2025 17:37:40 +0000 (17:37 +0000)] 
Generic makefile cleanups and doc updates.

FossilOrigin-Name: e8b34b4178be621102dac165b716283055fad90b3edc2394f56a24f9f0149448

2 months agoInternal doc fix (renamed file).
stephan [Thu, 13 Nov 2025 16:38:45 +0000 (16:38 +0000)] 
Internal doc fix (renamed file).

FossilOrigin-Name: cb8fb01fe19ba3af536a662aed894b2b0eb2463c8d34c644c498234fd82122f3

2 months agoJS code reformatting and doc updates. No functional changes.
stephan [Thu, 13 Nov 2025 15:33:44 +0000 (15:33 +0000)] 
JS code reformatting and doc updates. No functional changes.

FossilOrigin-Name: c566c653e4f55afa0660e819ed5b1fd96cb9b24bc78c333adcd8825331a9dd26

2 months agoAdd the #include -raw flag to ext/wasm/c-pp-lite.c to support a pending feature.
stephan [Thu, 13 Nov 2025 14:47:41 +0000 (14:47 +0000)] 
Add the #include -raw flag to ext/wasm/c-pp-lite.c to support a pending feature.

FossilOrigin-Name: 42c30c314969c0f2573bbe36615683ac19a7ba4e30004c7080873459096caaf5

2 months agoGet --screenwidth auto working on linux and windows.
drh [Thu, 13 Nov 2025 11:52:34 +0000 (11:52 +0000)] 
Get --screenwidth auto working on linux and windows.

FossilOrigin-Name: 48a91f2067005f7f186484354be07384dd76bcfff8427c17579f6e32201e3742

2 months agoFix a problem in the EXISTS-to-JOIN optimization ([e33da6d5dc964db8]) so
drh [Thu, 13 Nov 2025 11:36:48 +0000 (11:36 +0000)] 
Fix a problem in the EXISTS-to-JOIN optimization ([e33da6d5dc964db8]) so
that it works with nested WHERE and EXISTS statements.
[forum:/forumpost/0704c3c41e49631b|Forum post 0704c3c41e4]

FossilOrigin-Name: d1e901eddc25175174d0706238ae0c33bfa5569e0c2ba4f1164b7a9600203442

2 months agomkwasmbuilds.c doc updates. Merge in the parts of [8611cf643b] which are not contentious.
stephan [Thu, 13 Nov 2025 09:03:48 +0000 (09:03 +0000)] 
mkwasmbuilds.c doc updates. Merge in the parts of [8611cf643b] which are not contentious.

FossilOrigin-Name: cb0f0e22241aae65938b4bc7a1b809088466a17cee80344f66ee889a76c422c1

2 months agoTeach c-pp to export its argv as a #define list so that we can embed it in the genera...
stephan [Thu, 13 Nov 2025 08:26:11 +0000 (08:26 +0000)] 
Teach c-pp to export its argv as a #define list so that we can embed it in the generates files.

FossilOrigin-Name: 42f95ea71e5e7e927685de3a6da2ede38abe7cabdd1fc71b9a14bebe9f54a65e

2 months agoDoc typo fix reported in [forum:00e49e9aa1|forum post 00e49e9aa1].
stephan [Thu, 13 Nov 2025 07:07:28 +0000 (07:07 +0000)] 
Doc typo fix reported in [forum:00e49e9aa1|forum post 00e49e9aa1].

FossilOrigin-Name: 36cd33f634a45900f6e52ba07aa20242a5f2b29c7cbe19be968c52ffef34fcde

2 months agoMinor doc correction and a JS error message tweak.
stephan [Thu, 13 Nov 2025 06:49:12 +0000 (06:49 +0000)] 
Minor doc correction and a JS error message tweak.

FossilOrigin-Name: c4ae21c89e5fd40eefd4916df6c6a6c4e27075a434a9d47576d3fcfbc7720588

2 months agoImplement the --titles option to the .mode command.
drh [Wed, 12 Nov 2025 20:50:08 +0000 (20:50 +0000)] 
Implement the --titles option to the .mode command.

FossilOrigin-Name: cc25643ebc516db0799406797e9961a2af574875ae9639178b722dbc280c96ad

2 months agoMore details on the format of the QRF_STYLE_Json and QRF_STYLE_JOBject.
drh [Wed, 12 Nov 2025 19:03:05 +0000 (19:03 +0000)] 
More details on the format of the QRF_STYLE_Json and QRF_STYLE_JOBject.

FossilOrigin-Name: 2b22321df9c2f51e4b0ab9e4da859c58bb3f194ad69c22b9d32b35831740f9dd

2 months agoContinuing code cleanup. Various minor bug fixes. All legacy tests now
drh [Wed, 12 Nov 2025 18:54:09 +0000 (18:54 +0000)] 
Continuing code cleanup.  Various minor bug fixes.  All legacy tests now
pass.  All planned features for ".mode" are implemented, at least at the
interface level, though some features are still no-ops.

FossilOrigin-Name: e5a81711d0076b447e5bd3206bc04d755a6229b9f4926f42260fcd01ecf3e5a2

2 months agoClarify that 'pikchr' is not a typo.
stephan [Wed, 12 Nov 2025 17:25:17 +0000 (17:25 +0000)] 
Clarify that 'pikchr' is not a typo.

FossilOrigin-Name: d7bb2ee6ec23c266c887fb2aeb77b0b17cd8f1429564d341537f57c5478410e2

2 months agoAdd a new direct CLI testing script in test/modeA.clitest to demonstration
drh [Wed, 12 Nov 2025 13:46:11 +0000 (13:46 +0000)] 
Add a new direct CLI testing script in test/modeA.clitest to demonstration
that can be done.  Rig this this to be run by test/shellB.test during normal
testing.

FossilOrigin-Name: 3107ebb9e1602fe5bed644c6f69426bebf307772e581b17a8fa3e50bd522e566

2 months agoRename QRF_STYLE_JsonLine to QRF_STYLE_JObject. Add new convenience modes
drh [Wed, 12 Nov 2025 12:44:02 +0000 (12:44 +0000)] 
Rename QRF_STYLE_JsonLine to QRF_STYLE_JObject.  Add new convenience modes
to the CLI and generally refactor and improve the ".mode" command.  Some
tests are failing, mostly due to changes in error message output and similar.

FossilOrigin-Name: 4c8109682e3a224fd8e015e73a9c1c7b6d56ad747d7ca7bc387bb92e1c98f731

2 months agoMinor refactoring of some field names in the sqlite3_qrf_spec object, to try
drh [Tue, 11 Nov 2025 18:07:42 +0000 (18:07 +0000)] 
Minor refactoring of some field names in the sqlite3_qrf_spec object, to try
to make the names more intuitive, memorable, and succinct.

FossilOrigin-Name: 3450bc7eecb717abedbaeb56dc824e14eb35ed30322fe3dd3b4b1cbd5fd14c60

2 months agoMove the ".output" command into a separate subroutine. Enhance .output so
drh [Tue, 11 Nov 2025 14:08:50 +0000 (14:08 +0000)] 
Move the ".output" command into a separate subroutine.  Enhance .output so
that it is able to capture output in a sqlite3_str object, then compare that
captured output we patterns to accomplish tests.

FossilOrigin-Name: ddd167044753f5215624fc9ee0e3657836c528f23a6a3e262401fd1b64cdbb21

2 months agoFactor the code for ".mode" out of do_meta_command() and into its own
drh [Tue, 11 Nov 2025 00:44:25 +0000 (00:44 +0000)] 
Factor the code for ".mode" out of do_meta_command() and into its own
subroutine, to show how the new infrastructure makes this easy.  We need
to do the same for all the dot-commands.  At the same time, add the
-textjsonb option to .mode.

FossilOrigin-Name: b48aa054df488747a7db56faf1cd0da42e322edff60650b9187448e58eb12def

2 months agoBug fixes. All tests are now passing.
drh [Tue, 11 Nov 2025 00:21:26 +0000 (00:21 +0000)] 
Bug fixes.  All tests are now passing.

FossilOrigin-Name: a0fc99a3bdd12f9ac69511c1aea2bd9a3d5de593d44b4a732cfc8f48e0931c76

2 months agoRevamp the internal data structures that the CLI uses for tracking and
drh [Mon, 10 Nov 2025 23:40:40 +0000 (23:40 +0000)] 
Revamp the internal data structures that the CLI uses for tracking and
managing the display mode.  This is an incremental check-in.  The code
compiles and runs, but not all tests are passing.

FossilOrigin-Name: 8cc581e53c2ab15bd311e082048b7c57b03a754d25c0b4beead08a3362ac1c7a

2 months agoKeep explicit NULL values in QRF_STYLE_Json output.
drh [Mon, 10 Nov 2025 22:05:42 +0000 (22:05 +0000)] 
Keep explicit NULL values in QRF_STYLE_Json output.

FossilOrigin-Name: cb07f3d441b0b2a3ebdfaa9456891a9c8e33fa07b967532a9edfaf6ff3163cb0

2 months agoMerge all the latest trunk improvements into the qrf branch.
drh [Mon, 10 Nov 2025 20:11:36 +0000 (20:11 +0000)] 
Merge all the latest trunk improvements into the qrf branch.

FossilOrigin-Name: 1fc2298edc67cbaf1963ed858a36cab15f670c00779ace6b63bdd266b0dbaaf2

2 months agoImproved concurrency for "make devtest" by splitting fuzzdata1.db and
drh [Mon, 10 Nov 2025 20:01:39 +0000 (20:01 +0000)] 
Improved concurrency for "make devtest" by splitting fuzzdata1.db and
fuzzdata2.db into slices for asan and ubsan testing.

FossilOrigin-Name: 2c31176607f02a73cf2626cda2dd0711ae74bdf0b4520d4c84ff299c860e419e

2 months agoAvoid dropping RETURNING triggers when the schema is reset while preparing a statement.
dan [Mon, 10 Nov 2025 19:11:15 +0000 (19:11 +0000)] 
Avoid dropping RETURNING triggers when the schema is reset while preparing a statement.

FossilOrigin-Name: 45d820ca227eb1ade4dda498b0f94b2c5df4bab3fc5fcdd517ee125a43d16f4d

2 months agoImproved argument parsing and error message infrastructure for
drh [Mon, 10 Nov 2025 18:39:33 +0000 (18:39 +0000)] 
Improved argument parsing and error message infrastructure for
dot-commands in the CLI.

FossilOrigin-Name: 23d5d09db8eae33b250cb8c86b6e6790fc9d5a62ca16df77d8aa881405da66fa

2 months agoAvoid dropping RETURNING triggers when the schema is reset while preparing a statement. returning-fix
dan [Mon, 10 Nov 2025 17:37:59 +0000 (17:37 +0000)] 
Avoid dropping RETURNING triggers when the schema is reset while preparing a statement.

FossilOrigin-Name: e26bcef7522a6f6ee8d55fa30e7fe06419566cf4e8c2df0c33c92a4c89f58c05

2 months agoThe ".www" command is now handled by QRF. So at this point, QRF handles
drh [Mon, 10 Nov 2025 15:56:18 +0000 (15:56 +0000)] 
The ".www" command is now handled by QRF.  So at this point, QRF handles
all query result formatting in the CLI and the legacy formatter has been
removed from the code.

FossilOrigin-Name: 35d4c7151e63c3f105a11dddc853666ae19cfca190204847a42f2b2a5641e95d

2 months agoRewrite the ".schema" and ".fullschema" commands in the CLI so as to
drh [Mon, 10 Nov 2025 15:01:57 +0000 (15:01 +0000)] 
Rewrite the ".schema" and ".fullschema" commands in the CLI so as to
eliminate the need for MODE_Pretty and MODE_Semi.

FossilOrigin-Name: 0eb0410f725eed44973cf8712ab2d24c16fb5cbb249b5780f8fe5d41b2193d79

2 months agoAdd the bTextNull field to sqlite3_qrf_spec. Use QRF to implement "tcl"
drh [Mon, 10 Nov 2025 12:32:04 +0000 (12:32 +0000)] 
Add the bTextNull field to sqlite3_qrf_spec.  Use QRF to implement "tcl"
mode in the CLI.

FossilOrigin-Name: 2ba92320db3c16c3c91e29ea935ae92da546261f25846d242bd2dd27e0b7e032

2 months agoFix a missing va_end() call in the intckMprintf() function of the
drh [Mon, 10 Nov 2025 11:05:36 +0000 (11:05 +0000)] 
Fix a missing va_end() call in the intckMprintf() function of the
incremental integrity-check extension.

FossilOrigin-Name: 62ad2350e368dc337ba2d0fb6847d07c40a6f79520dd6414d22b5b54983b0b12

2 months agoA more compact fix for the problem first fixed by [5f5a736f88].
dan [Mon, 10 Nov 2025 11:00:41 +0000 (11:00 +0000)] 
A more compact fix for the problem first fixed by [5f5a736f88].

FossilOrigin-Name: 7a644178c8d289ca18631844b2d73b32fddc72afcc80906633dd38c14eba2ca9

2 months agoHave sqlite3_set_errmsg() return SQLITE_MISUSE if a NULL db handle is passed to it...
dan [Mon, 10 Nov 2025 10:47:29 +0000 (10:47 +0000)] 
Have sqlite3_set_errmsg() return SQLITE_MISUSE if a NULL db handle is passed to it, as documented.

FossilOrigin-Name: 5f5a736f88bc9bc6c9c83d2cbfd74c0b5357d7417d9993d34a78f0b7317ff796

2 months agoMerge all the latest trunk fixes, and especially the fix for the ".www"
drh [Mon, 10 Nov 2025 10:46:55 +0000 (10:46 +0000)] 
Merge all the latest trunk fixes, and especially the fix for the ".www"
command in the CLI, into the qrf branch.

FossilOrigin-Name: 07a5523cf27fd7c1d8fbc5cde80cb45fadef49317ca59fec9f8e42b2839c3e19

2 months agoReworking of JS internals to support binding of nested C structs (like sqlite3_index_...
stephan [Mon, 10 Nov 2025 07:41:54 +0000 (07:41 +0000)] 
Reworking of JS internals to support binding of nested C structs (like sqlite3_index_constraint and friends) and allow some of the automated JS/C conversions to be plugged in at the struct-binding level, simplifying how struct members, in particular function pointers, can be used from JS.

FossilOrigin-Name: bb4fd5b789cebf2b224c29023fea3e620a86fb36730c36c0d85d9f35880bf643

2 months agoFix the ".www" command of the CLI so that it works on unix systems with
drh [Mon, 10 Nov 2025 01:46:06 +0000 (01:46 +0000)] 
Fix the ".www" command of the CLI so that it works on unix systems with
newer web browsers that do not allow access to files in /tmp.

FossilOrigin-Name: 2f918c14bac28c567cc854b3d41dcdd59191a118bb5fdea9373945fe860161f5

2 months agoFixes to autoExplain
drh [Mon, 10 Nov 2025 00:18:36 +0000 (00:18 +0000)] 
Fixes to autoExplain

FossilOrigin-Name: 38e4171697057437fc9f70f8734c7f557b91da47804ff10b3d2481802377222f

2 months agoEnforce mxRowHeight in columnar layouts. Code clean-up. Minimum column with
drh [Sun, 9 Nov 2025 17:25:23 +0000 (17:25 +0000)] 
Enforce mxRowHeight in columnar layouts.  Code clean-up.  Minimum column with
is 2 if there is wrapping, in case there are double-wide characters.

FossilOrigin-Name: 0ee8fc00af4c82da0d597c65dd3d8590c71ea78d8f4a29653bbb21668c6c530d

2 months agoMinor doc typo fix reported in [forum:939d5864df|forum post 939d5864df].
stephan [Sun, 9 Nov 2025 07:11:15 +0000 (07:11 +0000)] 
Minor doc typo fix reported in [forum:939d5864df|forum post 939d5864df].

FossilOrigin-Name: a1f9c977b83fab11c54710070dbedfaea47195050946db74075bdd3ade97a4c8

2 months agoCLI shell: ensure that .dump propagates its error code on error. Problem reported...
stephan [Sun, 9 Nov 2025 06:51:32 +0000 (06:51 +0000)] 
CLI shell: ensure that .dump propagates its error code on error. Problem reported in [forum:a4f3873b0a8503cc|forum post a4f3873b0a].

FossilOrigin-Name: 850b92b6347187d702736bf5a574b9b4a49854a33799875f24fc75c50a6bf908