]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
9 days agoMore work towards using JS generic Storage objects as db page storage via kvvfs.
stephan [Fri, 21 Nov 2025 18:55:33 +0000 (18:55 +0000)] 
More work towards using JS generic Storage objects as db page storage via kvvfs.

FossilOrigin-Name: 90a33941c69b3581feaed271542f0238ca81ee34fe5b353ca7da48b81ac73a5f

9 days agoRemove kvvfs-specific filename validation from the oo1.DB ctor.
stephan [Fri, 21 Nov 2025 18:49:58 +0000 (18:49 +0000)] 
Remove kvvfs-specific filename validation from the oo1.DB ctor.

FossilOrigin-Name: 206275292217be4ff317d4c9186ecaf863ca69295e2f995ed175aa65d9ad11dc

9 days agoInitial restructuring of kvvfs working towards generic support of JS's Strorage inter...
stephan [Fri, 21 Nov 2025 15:23:52 +0000 (15:23 +0000)] 
Initial restructuring of kvvfs working towards generic support of JS's Strorage interface as storage rather than hard-coding it to just window.localStorage and window.sessionStorage. The eventual goal of that is to have a storage solution which works without the POSIX I/O APIs, getting us one step closer to a wasi-sdk build. It would be transient, like Emscripten's virtual filesystem, and could hypothetically replace our dependency on that particular feature.

FossilOrigin-Name: 190ef4a94005b0feebe865a960d846a1b60ec1b267b15d5a24749f174a6169bc

9 days 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

9 days 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

9 days 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

9 days 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

10 days 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

10 days 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

10 days 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

10 days 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

10 days 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

10 days 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

10 days 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

11 days 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

11 days 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

11 days 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

11 days 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

11 days 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

11 days 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

11 days 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

12 days 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

12 days 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

12 days 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

12 days 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

12 days 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

12 days 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

12 days 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

12 days 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

12 days 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

13 days 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

13 days 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

13 days 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

13 days 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

13 days 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks agoRemove an unused struct.
stephan [Sat, 15 Nov 2025 16:06:03 +0000 (16:06 +0000)] 
Remove an unused struct.

FossilOrigin-Name: 93dd0e62b74a0d99803f680f23953e9fa2429074505ba402ca5ed4610ddef8fb

2 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks agoAPI doc typo fix.
stephan [Sat, 15 Nov 2025 08:05:12 +0000 (08:05 +0000)] 
API doc typo fix.

FossilOrigin-Name: c1e9791fbf9e4c2ca6f9f031ea2c26d8b4bfb4d54850a53853f2b2d9620792ef

2 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks agoMerge trunk with this branch.
dan [Tue, 11 Nov 2025 17:06:24 +0000 (17:06 +0000)] 
Merge trunk with this branch.

FossilOrigin-Name: d7d8d08f849b2caeef4f18244c4b594e4f66506ef00be47ab2dd4b53d3ab98e8

2 weeks 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 weeks 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