]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
7 weeks agoFix a NULL pointer dereference following OOM in the sha1 extension.
drh [Sat, 7 Mar 2026 00:03:47 +0000 (00:03 +0000)] 
Fix a NULL pointer dereference following OOM in the sha1 extension.

FossilOrigin-Name: 530b3f97ca4e8b1d263266855743b0d57d048104a6c3bed6c4d7958985767bc6

7 weeks agoFix a NULL pointer dereference following OOM in the decimal extension.
drh [Fri, 6 Mar 2026 23:58:58 +0000 (23:58 +0000)] 
Fix a NULL pointer dereference following OOM in the decimal extension.

FossilOrigin-Name: de37f30b2100e0c249e5c0853d6af90cd3c2069899747dcf0889e6a3d6b94061

7 weeks agoFix a memory leak following OOM in the completion extension.
drh [Fri, 6 Mar 2026 23:56:03 +0000 (23:56 +0000)] 
Fix a memory leak following OOM in the completion extension.

FossilOrigin-Name: ff5b1efbf80875a82b3707b56440551eb6f68a899ade27363bc62872fe46fd75

7 weeks agoAdd some jitter and duration info to the opfs concurrency tester. Ensure that Atomics...
stephan [Fri, 6 Mar 2026 23:50:44 +0000 (23:50 +0000)] 
Add some jitter and duration info to the opfs concurrency tester. Ensure that Atomics.waitAsync() is available for opfs-wl. Further testing has shown that Web opfs-wl is consistently fairer about doling out contested locks but it's dog slow compared to the original VFS under moderate concurrency. In single-connection use they're effectively on par.

FossilOrigin-Name: a9aecc987512d60f2663973f43c769cf086fc14149edfbcb18c0aec9f5aa3dbf

7 weeks agoFix a memory leak in the decimal extension that follows an OOM.
drh [Fri, 6 Mar 2026 23:37:45 +0000 (23:37 +0000)] 
Fix a memory leak in the decimal extension that follows an OOM.

FossilOrigin-Name: 8d59e47e7ae0aae01cb25c6c054cf9a4d9651e858bc0dd1a0e2a013ec6579012

7 weeks agoGet "opfs" and "opfs-wl" properly split. Speedtest1 and the concurrency tester are...
stephan [Fri, 6 Mar 2026 22:21:06 +0000 (22:21 +0000)] 
Get "opfs" and "opfs-wl" properly split. Speedtest1 and the concurrency tester are happy with opfs-wl but it is not yet plugged in to tester1.

FossilOrigin-Name: 12dcd5425967b6306f3e3178babeac130962edb78e6298d545a429a1a20457cc

7 weeks agoRename the initializer functions for base64() and base85() to include the
drh [Fri, 6 Mar 2026 22:09:39 +0000 (22:09 +0000)] 
Rename the initializer functions for base64() and base85() to include the
number at the end.

FossilOrigin-Name: af18b68978ec9b1ff732505bfb92bb65e4f7381b904123f42c638b747569fa28

7 weeks agoIncrease the version number to 3.52.1.
drh [Fri, 6 Mar 2026 21:34:49 +0000 (21:34 +0000)] 
Increase the version number to 3.52.1.

FossilOrigin-Name: 94a650b169bfd1056995c1cfe584d3d92667bce5e9cf93e6381607ed87251bf3

7 weeks agoFix a NULL pointer dereference in the (undocumented) two-argument version
drh [Fri, 6 Mar 2026 21:31:07 +0000 (21:31 +0000)] 
Fix a NULL pointer dereference in the (undocumented) two-argument version
of the decimal() extension SQL function.
[forum:/forumpost/fa9c2dc83f|Forum post fa9c2dc83f].

FossilOrigin-Name: a0266351df8700383d50c2ef2d179dd82b0e0fd7fc70d05a91d5e4e845983b46

7 weeks agoSmall typo fix in the FP_DIGITS API docs.
stephan [Fri, 6 Mar 2026 19:39:03 +0000 (19:39 +0000)] 
Small typo fix in the FP_DIGITS API docs.

FossilOrigin-Name: 0286f97f34fd560d4ba423bd28d18ac080c918b0e99b8d16c4a213cf205b5e5b

7 weeks agoMinor cleanups and docs. Teach the OPFS concurrency tester to deal with SQLITE_BUSY...
stephan [Fri, 6 Mar 2026 19:33:25 +0000 (19:33 +0000)] 
Minor cleanups and docs. Teach the OPFS concurrency tester to deal with SQLITE_BUSY instead of failing.

FossilOrigin-Name: 247ffed141f66a6a5a396a3e002995a9f00c70333271199200530066e77956c4

7 weeks agoMerge fixes that were deferred until after the 3.52.0 release, including:
drh [Fri, 6 Mar 2026 18:51:49 +0000 (18:51 +0000)] 
Merge fixes that were deferred until after the 3.52.0 release, including:
(1) Fix handling of DISTINCT with OUTER JOIN, (2) Enhance configure to
auto-detect linenoise, (3) Add recent configuration settings to WASM.

FossilOrigin-Name: 9d51bec1b17925f5cac0d590c0d70bb34e77fdb7253d18007f52711d42f6f5d0

7 weeks agoFix the linenoise auto-detection added by the previous check-in. pending-3.52
drh [Fri, 6 Mar 2026 18:26:50 +0000 (18:26 +0000)] 
Fix the linenoise auto-detection added by the previous check-in.

FossilOrigin-Name: e36958584511d83666590abef223c2edc3da15b5b32e280baf08159ddae80e50

7 weeks agoThis one reliably runs 5 workers. Checking in before subsequent cleanups and debug...
stephan [Fri, 6 Mar 2026 17:10:28 +0000 (17:10 +0000)] 
This one reliably runs 5 workers. Checking in before subsequent cleanups and debug output removal break it.

FossilOrigin-Name: ba81d95febc5fd0f9bbb2685fef5b1b10f9991751f2bdfafba80c15877af1cef

7 weeks agoCorrect an internal doc falsehood.
stephan [Fri, 6 Mar 2026 16:15:32 +0000 (16:15 +0000)] 
Correct an internal doc falsehood.

FossilOrigin-Name: 53aa080e357d7a2ffeab68a3584fda43d51ecef3dc8a1d46dd32392ae4f9740c

7 weeks agoThis Web Lock impl can reliably run a single OPFS connection but rather unreliably...
stephan [Fri, 6 Mar 2026 16:04:21 +0000 (16:04 +0000)] 
This Web Lock impl can reliably run a single OPFS connection but rather unreliably 'loses' workers with higher counts, presumably due to deadlock or deadly embrace (how _all_ of them can deadlock at once is unclear, but clearly a bug).

FossilOrigin-Name: d4e8583e2e80665adfe4e814adb6c219936af1dcac4105795045cb1a7b1e4864

7 weeks agoVersion 3.52.0 version-3.52.0
drh [Fri, 6 Mar 2026 16:01:44 +0000 (16:01 +0000)] 
Version 3.52.0

FossilOrigin-Name: 557aeb43869d3585137b17690cb3b64f7de6921774daae9e56403c3717dceab6

7 weeks agoExpose SQLITE_{DBCONFIG_FP_DIGITS,LIMIT_PARSER_DEPTH,PREPARE_FROM_DDL} to WASM and... wasm-post-3.52
stephan [Fri, 6 Mar 2026 15:41:17 +0000 (15:41 +0000)] 
Expose SQLITE_{DBCONFIG_FP_DIGITS,LIMIT_PARSER_DEPTH,PREPARE_FROM_DDL} to WASM and add support for DBCONFIG_FP_DIGITS to the variadic wrapper for sqlite3_db_config(). These unfortunately went overlooked before the 3.52 release.

FossilOrigin-Name: 837069635e53849cbca0aa876bad7c7ff44e17578ae492e07acf354067b7e16d

7 weeks agoAdd the new realpath() extension function to the list of functions
drh [Fri, 6 Mar 2026 14:33:12 +0000 (14:33 +0000)] 
Add the new realpath() extension function to the list of functions
prohibited in --safe mode of the CLI.

FossilOrigin-Name: 5fa49c4d592778fb82c4e25c77cf0442d3dc23cc7f8d91d25952c722af866930

7 weeks agoRemove an extraneous OPFS metrics increment.
stephan [Fri, 6 Mar 2026 11:49:36 +0000 (11:49 +0000)] 
Remove an extraneous OPFS metrics increment.

FossilOrigin-Name: bf3548a37712e848c7a9cadfdc1669a2be572ea0a0c28d84c157ab30f8c30c44

7 weeks agoUninstall faultsim at the end of the walrestart.test script.
dan [Fri, 6 Mar 2026 11:18:12 +0000 (11:18 +0000)] 
Uninstall faultsim at the end of the walrestart.test script.

FossilOrigin-Name: 798905a1277ecb17245f2a7378fdc8dc608374fde50bdfe44d09195a7c78cb5c

7 weeks agoA slight simplification/optimization in the OPFS proxy's waitLoop().
stephan [Fri, 6 Mar 2026 09:11:47 +0000 (09:11 +0000)] 
A slight simplification/optimization in the OPFS proxy's waitLoop().

FossilOrigin-Name: 521bb140b7ed237c118ac9094732d06907229a6ff385502e850c679bd623fd58

7 weeks agoReimplement the OPFS async proxy's wait-forever loop to be more async-friendly for...
stephan [Fri, 6 Mar 2026 09:06:24 +0000 (09:06 +0000)] 
Reimplement the OPFS async proxy's wait-forever loop to be more async-friendly for upcoming changes.

FossilOrigin-Name: fd775772fbb50b04c8c37977b90a708784eefed403e3668196c9d95559d3a5e1

7 weeks agoFix the build for -DSQLITE_OMIT_FLOATING_POINT.
drh [Thu, 5 Mar 2026 18:28:43 +0000 (18:28 +0000)] 
Fix the build for -DSQLITE_OMIT_FLOATING_POINT.

FossilOrigin-Name: f41b9ad98c474755c6701eb6ab3dc9864ace9b52a81581f73ca0912cedbc3c37

7 weeks agoEnhance ./configure to automatically detect linenoise in ../linenoise
drh [Thu, 5 Mar 2026 18:16:25 +0000 (18:16 +0000)] 
Enhance ./configure to automatically detect linenoise in ../linenoise
relative to the build directory, or ../linenoise relative to the source
directory, or at $HOME/linenoise.

FossilOrigin-Name: eb6b47c667e52d5c8682d650dbd114c08d2ecce4bb7bce6fdf2589d1ea09f5c0

7 weeks agoEnsure xMutexInit() is called in SQLITE_THREAD_MISUSE_WARNINGS builds.
dan [Thu, 5 Mar 2026 16:23:04 +0000 (16:23 +0000)] 
Ensure xMutexInit() is called in SQLITE_THREAD_MISUSE_WARNINGS builds.

FossilOrigin-Name: ac6a389e09a0de1b622af4a7136dc66875e8009c27950f2260a96f17fec4f9bc

7 weeks agoFix a long-standing problem with DISTINCT LEFT JOIN queries.
dan [Thu, 5 Mar 2026 14:39:27 +0000 (14:39 +0000)] 
Fix a long-standing problem with DISTINCT LEFT JOIN queries.

FossilOrigin-Name: f43294a5582b540a33c584ec8c69b6a5006a4d243ad5cf36125b2b0806e3518b

7 weeks agoStrip the opfs-wl "back to formula", removing the current false starts so that this...
stephan [Thu, 5 Mar 2026 11:51:27 +0000 (11:51 +0000)] 
Strip the opfs-wl "back to formula", removing the current false starts so that this can be tried again without tripping over any cruft. The current impl is subject, with no obvious way out of it, to starvation in the async proxy.

FossilOrigin-Name: d022f1f5e74dedae044801330eb099022498f359f408e69b3574885641b312f5

7 weeks agoThe opfs-wl lock hang has been traced to starvation between the WebLock and the tight...
stephan [Thu, 5 Mar 2026 06:30:57 +0000 (06:30 +0000)] 
The opfs-wl lock hang has been traced to starvation between the WebLock and the tight wait-on-VFS-calls Atomics.wait() loop. This can reportedly be resolved with another level of indirection in which the WebLock takes over the wait-on-VFS-calls part until it's unlocked, returning to the global loop when it's done. That exceeds this morning's ambitions but is next to try out.

FossilOrigin-Name: 113bd910e12fea17f9f4a0a3baf706f15627c08cfa6b47a960a83eee761ef4dd

7 weeks agoAdd a little flexibility to checkpoint sizes in the walrestart.test script.
drh [Thu, 5 Mar 2026 00:30:05 +0000 (00:30 +0000)] 
Add a little flexibility to checkpoint sizes in the walrestart.test script.

FossilOrigin-Name: e438b564ca84377746464034d770e9c1f5899d935c6a4dffc546acb92afb800e

7 weeks agoAdd some debugging output to opfs and track down the breakage to the initial WebLock...
stephan [Wed, 4 Mar 2026 21:16:36 +0000 (21:16 +0000)] 
Add some debugging output to opfs and track down the breakage to the initial WebLock request, which is never reaching its callback. Still broken, but this is progress.

FossilOrigin-Name: 62fc8b35aeec75f5648b3daa24162c638999d447aa874bdfcbac1431c5c97b6f

7 weeks agoGet opfs-wl plugged in to the concurrency tester. Somewhat ironically, all competing...
stephan [Wed, 4 Mar 2026 20:33:21 +0000 (20:33 +0000)] 
Get opfs-wl plugged in to the concurrency tester. Somewhat ironically, all competing workers fail with locking errors while worker 1 is busy running off the rails somewhere. Stashing for closer investigation later.

FossilOrigin-Name: 3b27310aa29ea84f459974981a600301abac5c705029a289d3872ecacf231da3

7 weeks agoConsolidate the last 200 lines of common OPFS VFS code. "opfs" still works, "opfs...
stephan [Wed, 4 Mar 2026 19:21:09 +0000 (19:21 +0000)] 
Consolidate the last 200 lines of common OPFS VFS code. "opfs" still works, "opfs-wl" registers fine but is still otherwise untested.

FossilOrigin-Name: 5978ee4902e4223fed6b95bd2d8f489bb300af8b762650e7113d1f3e97519d88

7 weeks agoFactor out about 300 lines of common OPFS VFS bootstrapping code.
stephan [Wed, 4 Mar 2026 17:54:02 +0000 (17:54 +0000)] 
Factor out about 300 lines of common OPFS VFS bootstrapping code.

FossilOrigin-Name: 57adecbab71795b62b1c2e4570ff504f35681e81dd8c94f78ad8e05ef39d36fd

7 weeks agoConsolidate the OPFS VFS's metrics-tracking code.
stephan [Wed, 4 Mar 2026 16:30:51 +0000 (16:30 +0000)] 
Consolidate the OPFS VFS's metrics-tracking code.

FossilOrigin-Name: b71c79ef9672c77a72a976ffcd7cbebfaf0ff314dff97b274f7d092de6a7773f

7 weeks agoBaby steps in consolidating common OPFS VFS code.
stephan [Wed, 4 Mar 2026 14:33:33 +0000 (14:33 +0000)] 
Baby steps in consolidating common OPFS VFS code.

FossilOrigin-Name: b0dd23299e97ff975f213cb3a8b051f4d7b785b29def82e01f53427fdf77ecb6

7 weeks agoRemove dead (commented-out) code that came to my attention because it
drh [Wed, 4 Mar 2026 13:08:14 +0000 (13:08 +0000)] 
Remove dead (commented-out) code that came to my attention because it
ws nearby the fix of the previous check-in.

FossilOrigin-Name: 61f8a28591a833b1f5834a347feefeba8414fecc7ff154f1b6ef19963f181812

7 weeks agoFix a code-generator bug introduced by the UNION/INTERSECT/EXISTS
drh [Wed, 4 Mar 2026 13:02:08 +0000 (13:02 +0000)] 
Fix a code-generator bug introduced by the UNION/INTERSECT/EXISTS
optimization of check-in [132ba781b031972c] and reported in
[forum:/forumpost/2026-03-04T05:06:26Z|forum post 2026-03-04T05:06:26Z].

FossilOrigin-Name: 6ba7797cac7dc873b62a12be5712511c9199b379342dac4a1887bfd65227a298

7 weeks agoConsolidate much of the OPFS utility code into a new file for use by two of the OPFS...
stephan [Wed, 4 Mar 2026 11:37:39 +0000 (11:37 +0000)] 
Consolidate much of the OPFS utility code into a new file for use by two of the OPFS VFSes.

FossilOrigin-Name: db19a6e9663c3a44996178cb8c35dc4ccd60f48cb4b81b6c214411a56c57def7

7 weeks agoA potential fix for the probable breakage of bundler-friendly builds in the previous...
stephan [Wed, 4 Mar 2026 00:48:03 +0000 (00:48 +0000)] 
A potential fix for the probable breakage of bundler-friendly builds in the previous check-in. Pending review from someone who uses those tools.

FossilOrigin-Name: 8ea85776116521526d684f221d67e288126e62931d4a0ea7fc7f164cd2d5b2ec

7 weeks agoopfs-wl is now loading and registering but it's still untested.
stephan [Wed, 4 Mar 2026 00:37:55 +0000 (00:37 +0000)] 
opfs-wl is now loading and registering but it's still untested.

FossilOrigin-Name: 9a471f7491a371052bf1785098ba966dd0d03503e7d8b9fbcd65f07b038e5021

7 weeks agoAn initial attempt to plugging opfs-wl into the build but its initial handshake with...
stephan [Tue, 3 Mar 2026 23:43:40 +0000 (23:43 +0000)] 
An initial attempt to plugging opfs-wl into the build but its initial handshake with the async half collides with the opfs VFS's handshake, causing bootstrapping to fail miserably. We'll need to either devise a handshake which can differentiate between the two instances or we'll need to preprocess sqlite3-opfs-async-proxy into two copies. Move the (now) three copies of some common code shared by the opfs pieces into a preprocessor #include.

FossilOrigin-Name: 1e0b72631aecb0bb72f4089116da221e6c4abf962db589de08132cd52c2be0e2

7 weeks agoAdd a missing reset of the lock handshake SharedArrayBuffer slot.
stephan [Tue, 3 Mar 2026 21:46:44 +0000 (21:46 +0000)] 
Add a missing reset of the lock handshake SharedArrayBuffer slot.

FossilOrigin-Name: 5910ed7ac843aa1fdb103ddcfaf6270d12cb39199205fc0b9f721fbf7fa2f851

7 weeks agoImplementations of WebLock-based opfs::xLock() and xUnlock(). Still completely untest...
stephan [Tue, 3 Mar 2026 21:07:46 +0000 (21:07 +0000)] 
Implementations of WebLock-based opfs::xLock() and xUnlock(). Still completely untested and not yet integrated into the build.

FossilOrigin-Name: 3343e3aabe465f4ab91dd148dfc5a60346e9afb560c10d1f92aeae98763ec3ce

7 weeks agoAvoid an obscure race condition between a checkpointer and a writer wrapping around...
dan [Tue, 3 Mar 2026 19:43:19 +0000 (19:43 +0000)] 
Avoid an obscure race condition between a checkpointer and a writer wrapping around to the start of the wal file.

FossilOrigin-Name: 7168988acbec2d8d51106a263e553f8942b8b23d983dbbe5028e0f9be68cbb83

8 weeks agoMerge trunk into the opfs-wl branch.
stephan [Tue, 3 Mar 2026 18:34:59 +0000 (18:34 +0000)] 
Merge trunk into the opfs-wl branch.

FossilOrigin-Name: 81bc4b3b6abc19f98d1f3b1065c4b39a42620a0d7abebe98605dca62dd2d6f9a

8 weeks agoDo not run test script walrestart.test with the "memsubsys1" permutation. wal-restart-fix
dan [Tue, 3 Mar 2026 18:34:38 +0000 (18:34 +0000)] 
Do not run test script walrestart.test with the "memsubsys1" permutation.

FossilOrigin-Name: 703cbb0f760515eac1e6f72a5e5cd928258c71378e4a976082b6518c90128135

8 weeks agoMinor tweaks to the previous, for testability.
drh [Tue, 3 Mar 2026 18:21:22 +0000 (18:21 +0000)] 
Minor tweaks to the previous, for testability.

FossilOrigin-Name: decb69015457b4f70cf574aeef87d40f9de60b94965f4a915e8d0cd7559ef2ae

8 weeks agoAvoid an obscure race condition between a checkpointer and a writer wrapping around...
dan [Tue, 3 Mar 2026 17:34:01 +0000 (17:34 +0000)] 
Avoid an obscure race condition between a checkpointer and a writer wrapping around to the start of the wal file.

FossilOrigin-Name: 053bd3930f827156fd67ea4546a36227cffbb6f8bada3b5d1a7cf5f1867ac624

8 weeks agoAdd JS tests for sqlite3_bind_zeroblob(). wasm-zeroblob
stephan [Tue, 3 Mar 2026 14:13:34 +0000 (14:13 +0000)] 
Add JS tests for sqlite3_bind_zeroblob().

FossilOrigin-Name: 0473eeb3cefa1d7882375e3f89d239d570649349c5a0a8ddd90b0a336a9bb493

8 weeks agoExpose sqlite3_bind_zeroblob() to JS/WASM, per request in [forum:e7acf225f9|forum...
stephan [Tue, 3 Mar 2026 01:48:18 +0000 (01:48 +0000)] 
Expose sqlite3_bind_zeroblob() to JS/WASM, per request in [forum:e7acf225f9|forum post e7acf225f9]. This is currently missing tests and is not planned for merge until the 3.53 dev cycle starts.

FossilOrigin-Name: b0c2ef6046b53b6133fed6a890d2ab5e47eeebd7b0b32849b5f69ae54a03014c

8 weeks agoConvert many sqlite3_realloc() calls to sqlite3_realloc64().
drh [Mon, 2 Mar 2026 17:11:44 +0000 (17:11 +0000)] 
Convert many sqlite3_realloc() calls to sqlite3_realloc64().

FossilOrigin-Name: 88dce64242552e7443d9fb496f6f3ad71dc5b4a882ce21b7ef1d5ea4e26f1e61

8 weeks agoOmit explain_i calls from TCL test scripts.
drh [Mon, 2 Mar 2026 16:40:16 +0000 (16:40 +0000)] 
Omit explain_i calls from TCL test scripts.

FossilOrigin-Name: 204f25c882832058c3291d4d6a0a6ac2711c081cb91b19feb2cf94a25ed61ecf

8 weeks agoFix TEMP INSTEAD OF triggers so that they work on TEMP views.
drh [Mon, 2 Mar 2026 15:34:16 +0000 (15:34 +0000)] 
Fix TEMP INSTEAD OF triggers so that they work on TEMP views.
[forum:/forumpost/2026-02-28T23:33:04z|Forum post 2026-02-28T23:33:04z].

FossilOrigin-Name: 0596bd508f0bc548158858a1dc113af2235d02632ce8c41cd27d1029e1a7e48d

8 weeks agoChange some sqlite3_realloc() calls into sqlite3_realloc64(). realloc64
drh [Mon, 2 Mar 2026 15:06:59 +0000 (15:06 +0000)] 
Change some sqlite3_realloc() calls into sqlite3_realloc64().

FossilOrigin-Name: a391f5646926787fd9a004225ea406b61d20f282c852c0282fd26cada644b601

8 weeks agoRemove the experimental and incomplete ext/repair extension, to prevent AIs
drh [Mon, 2 Mar 2026 13:44:04 +0000 (13:44 +0000)] 
Remove the experimental and incomplete ext/repair extension,  to prevent AIs
from scanning the (incomplete) code and reporting bugs against it.

FossilOrigin-Name: 213b1c6608af4b3e9d6e0d8de6432cc6857931427baf4beac1e0a4294e4dc6ce

8 weeks agoDisable test shell1-5.0 as it is causing a use of initialized deep inside
drh [Mon, 2 Mar 2026 13:43:08 +0000 (13:43 +0000)] 
Disable test shell1-5.0 as it is causing a use of initialized deep inside
of TCL.

FossilOrigin-Name: 440bd6091e3767f0a2f42ffdc92ca5e4736c0a73324fdd15397c3b5dbbc31fb8

8 weeks agoUse only 64-bit memory allocation in FTS5. Fix for UAF reported by
drh [Mon, 2 Mar 2026 11:41:48 +0000 (11:41 +0000)] 
Use only 64-bit memory allocation in FTS5.  Fix for UAF reported by
Zijie Zhao.

FossilOrigin-Name: e8976d5041c929675772039b7a8fc4ff0b609537d86f9aa6e445ecd512a10673

8 weeks agoFix a possible 9-byte buffer overread in the zipfile extension hit when processing...
dan [Mon, 2 Mar 2026 11:22:28 +0000 (11:22 +0000)] 
Fix a possible 9-byte buffer overread in the zipfile extension hit when processing a corrupt zip file. Forum post [forum:/forumpost/721a05d2c5 | 721a05d2c5].

FossilOrigin-Name: 5db21813d126554d80db903be6d36ab6c1f73f9135a54af6dcfcfce0bcc18e68

8 weeks agoThe intck01.sql test should only be run if virtual tables work.
drh [Mon, 2 Mar 2026 00:06:02 +0000 (00:06 +0000)] 
The intck01.sql test should only be run if virtual tables work.

FossilOrigin-Name: 641d6f31a7f7b4901061e24d4e624da5ed92282e79771bb019b82a882e5d1ae9

8 weeks agoMore floating point conversion test cases.
drh [Sun, 1 Mar 2026 23:23:52 +0000 (23:23 +0000)] 
More floating point conversion test cases.

FossilOrigin-Name: 44a736a700ab12b398873400dc06cd334817842b4fa08bf8070a9ad6dbff0b51

8 weeks agoNew floating-point test case.
drh [Sun, 1 Mar 2026 23:01:17 +0000 (23:01 +0000)] 
New floating-point test case.

FossilOrigin-Name: f353399932e9797198e635405a594c2987850070e3f9aee87a05c5a65d4c1e00

8 weeks agoFix an OOB read in the incremental integrity-check extension.
drh [Sun, 1 Mar 2026 22:36:02 +0000 (22:36 +0000)] 
Fix an OOB read in the incremental integrity-check extension.

FossilOrigin-Name: abecc8e388e294311aa0b572e0a984b8ddad2afbf829c1246e1682fa549c8fac

8 weeks agoSimplified rounding logic in sqlite3Fp10Convert2().
drh [Sun, 1 Mar 2026 20:22:08 +0000 (20:22 +0000)] 
Simplified rounding logic in sqlite3Fp10Convert2().

FossilOrigin-Name: 8ac63ebc5c04ba555bbf0d878a70e25deba5fcc75ff44c464600b92c27e5dcb0

8 weeks agoCode changes in sqlite3Fp10Convert2() for easier maintenance. Does not
drh [Sat, 28 Feb 2026 20:22:10 +0000 (20:22 +0000)] 
Code changes in sqlite3Fp10Convert2() for easier maintenance.  Does not
affect the generated machine code.

FossilOrigin-Name: 21c8fc7100e23b632b77934cbbafb98dfd3e6e73bab702446ef6345b378c9d36

8 weeks agoImprovements to power-of-ten computations used for text ↔ binary64
drh [Fri, 27 Feb 2026 22:59:46 +0000 (22:59 +0000)] 
Improvements to power-of-ten computations used for text ↔ binary64
conversions.

FossilOrigin-Name: 0780bce854b962fb2d4a1a19c55c9b5790a9669f26e1ff8b5f1f1733cfc647e0

8 weeks agoMinor simplification to the text→binary64 conversion algorithm.
drh [Fri, 27 Feb 2026 20:37:03 +0000 (20:37 +0000)] 
Minor simplification to the text→binary64 conversion algorithm.

FossilOrigin-Name: 6632d51f1673e9a6b6e26baebc7aaa1ae27024ad5db1baff6ee5fcf865099f43

8 weeks agoTwo code comment typo fixes reported in the forum. No code changes.
stephan [Fri, 27 Feb 2026 18:32:12 +0000 (18:32 +0000)] 
Two code comment typo fixes reported in the forum. No code changes.

FossilOrigin-Name: 3fbd28fabc5509a0bf2026cb60891d6d3efe251910baa3a3934225d0a7187bfa

8 weeks agoFix an off-by-one error in the indentation of multi-line outputs in
drh [Fri, 27 Feb 2026 13:25:42 +0000 (13:25 +0000)] 
Fix an off-by-one error in the indentation of multi-line outputs in
QRF_STYLE_Line mode.

FossilOrigin-Name: d47499b21c893cc8749a1cafe1cf712dacfeaa6cfe2cdb75d1fc450f3cb6879f

8 weeks agoAdd an assert() to sqlite3RegisterLikeFunctions() to hopefully prevent
drh [Fri, 27 Feb 2026 11:36:43 +0000 (11:36 +0000)] 
Add an assert() to sqlite3RegisterLikeFunctions() to hopefully prevent
future false-positive bug reports coming out of CodeQL.

FossilOrigin-Name: 7c5f4dcd748baa60097bbf68d7aca99cc959bb1f7da92bd9ad86a4425a37d391

8 weeks agoAnother nano-optimization in kvvfs v2.
stephan [Fri, 27 Feb 2026 06:33:28 +0000 (06:33 +0000)] 
Another nano-optimization in kvvfs v2.

FossilOrigin-Name: a9d60190d693504742a894918f145111908d7d6cb9e853ba7a2356529046372a

8 weeks agoJS: slight performance improvements in KVVfsStorage.
stephan [Fri, 27 Feb 2026 03:21:47 +0000 (03:21 +0000)] 
JS: slight performance improvements in KVVfsStorage.

FossilOrigin-Name: 56edf2addb155dbb60269fe563ecb5f6132672c6c61f6f9d18ebdff72111298d

8 weeks agoAn initial copy/paste stub for experimenting with using WebLocks for a new copy of...
stephan [Fri, 27 Feb 2026 03:11:40 +0000 (03:11 +0000)] 
An initial copy/paste stub for experimenting with using WebLocks for a new copy of the OPFS vfs. This is not yet functional, or even loading, but needs stashing to avoid potential loss.

FossilOrigin-Name: 372f18ae909bafd7167b70051935832e3107ede72aaeccbf5c042db7ba791912

2 months agoFix typos in the SQLITE_PREPARE_FROM_DDL documentation.
drh [Thu, 26 Feb 2026 16:19:21 +0000 (16:19 +0000)] 
Fix typos in the SQLITE_PREPARE_FROM_DDL documentation.

FossilOrigin-Name: 9174e7dacf867c1f80e73ccf5e0ee7b9e84fbe9f2e53559d06b72206b1cde3c6

2 months agoImprovements to the SQLITE_PREPARE_FROM_DDL documentation.
drh [Thu, 26 Feb 2026 13:35:38 +0000 (13:35 +0000)] 
Improvements to the SQLITE_PREPARE_FROM_DDL documentation.

FossilOrigin-Name: c3288f16848866a2c846221c33631785f7b39938078bb95c61895f789395aa1d

2 months agoFix an inconsequential typo in the output of the datedebug() SQL function.
drh [Thu, 26 Feb 2026 12:17:19 +0000 (12:17 +0000)] 
Fix an inconsequential typo in the output of the datedebug() SQL function.

FossilOrigin-Name: 3a92a53d8cf77822c22618dbf35851a20d27c4a659d23db2d24e7ccb3f61c7fc

2 months agoFix a problem where the wrong collation could be used as part of a row-value comparis...
dan [Thu, 26 Feb 2026 11:03:22 +0000 (11:03 +0000)] 
Fix a problem where the wrong collation could be used as part of a row-value comparison between columns with different collation sequences. [forum:/forumpost/6ceca07fc3 | Forum post 6ceca07fc3].

FossilOrigin-Name: 212c68249cc0e8904fc36d8e90646d04604f2b3b9d4c32eaeac7d920fa0fba99

2 months agoThe GCC bug is fixed in GCC-15.
drh [Wed, 25 Feb 2026 21:19:20 +0000 (21:19 +0000)] 
The GCC bug is fixed in GCC-15.

FossilOrigin-Name: 21f9abe6c9d1e2ce99ed75c2984103dcd2356b5d53bca3f3732176bb856bf3f7

2 months agoReinstant the work-around for [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96270...
drh [Wed, 25 Feb 2026 12:44:19 +0000 (12:44 +0000)] 
Reinstant the work-around for [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96270|GCC compiler bug 96270]
which is apparently still an issue as of gcc 13.3.0 with -m32 on Mint Linux.
The test case in the bug report is fixed, but the vdbeMemRenderNum() routine
in SQLite still shows the problem.

FossilOrigin-Name: 7fae321095ebec775de1b39b974fb1f295d5efbd5723e9cb29a981c97a4262c8

2 months agoUse a 64-bit hash for the testing option SQLITE_CHECK_PAGES to maintain
drh [Wed, 25 Feb 2026 01:04:22 +0000 (01:04 +0000)] 
Use a 64-bit hash for the testing option SQLITE_CHECK_PAGES to maintain
page alignment.

FossilOrigin-Name: 75a35cd8f97f8a6cd2311c829685bd3b1cfb394de15174aef347f15cfb1913a1

2 months agoAdjust the changes to shell8.test from [5da9bf09cc00faf9] so that they
drh [Tue, 24 Feb 2026 19:50:27 +0000 (19:50 +0000)] 
Adjust the changes to shell8.test from [5da9bf09cc00faf9] so that they
work with older versions of TCL.

FossilOrigin-Name: c3b9e2cee3565da50bcc92766f700c31142391a697cbab7465774cf20a307dd8

2 months agoRename SQLITE_ENABLE_MULTITHREADED_CHECKS to SQLITE_THREAD_MISUSE_WARNINGS.
drh [Tue, 24 Feb 2026 19:37:16 +0000 (19:37 +0000)] 
Rename SQLITE_ENABLE_MULTITHREADED_CHECKS to SQLITE_THREAD_MISUSE_WARNINGS.
Run test cases with that option. Also add the
SQLITE_THREAD_MISUSE_ABORT option.

FossilOrigin-Name: be8c8b9cb7b618a1571a988bc1cfdc15d99a8bf144d699385c0076e940b9f7f5

2 months agoFix an assert() that is incorrect when the SQLITE_DBCONFIG_FP_DIGITS setting
drh [Mon, 23 Feb 2026 19:51:54 +0000 (19:51 +0000)] 
Fix an assert() that is incorrect when the SQLITE_DBCONFIG_FP_DIGITS setting
is on a non-default value.

FossilOrigin-Name: 3ca1ed81c4fa41f5f9fdbebf0929dd8421a4e29f95764fe1027d4d8706a41480

2 months agoAdd test cases for the symlink defenses of the previous check-in.
drh [Mon, 23 Feb 2026 13:29:29 +0000 (13:29 +0000)] 
Add test cases for the symlink defenses of the previous check-in.

FossilOrigin-Name: 5da9bf09cc00faf98cc515fb5a10a0af325b8f7608893808d031dfef62380be2

2 months agoChange the SQLAR archive extraction algorithm in the CLI so that it
drh [Mon, 23 Feb 2026 12:19:05 +0000 (12:19 +0000)] 
Change the SQLAR archive extraction algorithm in the CLI so that it
uses the newly enhanced realpath() SQL function to guard against
attacks that use symlinks to try to write files outside of the
destination directory.
[forum:/forumpost/641b09daa17d9086|Forum post 641b09daa17d9086].

FossilOrigin-Name: 7cced53e8c508fbf1816162c5358c77a712f76a38fd18f07171efc3c028a3c57

2 months agoEnhance the realpath() SQL function in the fileio.c extension
drh [Mon, 23 Feb 2026 11:44:30 +0000 (11:44 +0000)] 
Enhance the realpath() SQL function in the fileio.c extension
so that it works ever for pathnames that do not exist.

FossilOrigin-Name: 27a5735fb1e194d763ab9fdb933fad4f694fb2f8ad19205d17ac81caebd82548

2 months agoWhen doing an SQLAR archive extraction in the CLI, postpone creating symlinks until...
drh [Mon, 23 Feb 2026 01:34:14 +0000 (01:34 +0000)] 
When doing an SQLAR archive extraction in the CLI, postpone creating symlinks until after
all files and directories have been created.  This prevents a hostile archive from
creating a symlink through which it can subsequently write content outside of the target
directory.  [forum:forumpost/9e176adfef91c207|Forum post 9e176adfef91c207].

FossilOrigin-Name: 9719034d4d3becda127dc294f7f58ded9c982509c690dd55b56310912957eb51

2 months agoImproved implementation of realpath() in the fileio.c extension that does not require
drh [Mon, 23 Feb 2026 00:57:00 +0000 (00:57 +0000)] 
Improved implementation of realpath() in the fileio.c extension that does not require
the last element of the path to actually exist.

FossilOrigin-Name: 4df4999484d9008d8af3c9c340810e0cf5f57161ba053ed5501276b450577039

2 months agoAdd the realpath() SQL function to the fileio.c extension. And clean up
drh [Sun, 22 Feb 2026 20:44:52 +0000 (20:44 +0000)] 
Add the realpath() SQL function to the fileio.c extension.  And clean up
the UTF8 handling on the Windows side of that extension while we are at it.

FossilOrigin-Name: 8bb8941930378b436f1353603be194644568b55fe347475be0caddddad40efa3

2 months agoFix typos and include wording in the documentation for
drh [Sat, 21 Feb 2026 21:19:41 +0000 (21:19 +0000)] 
Fix typos and include wording in the documentation for
SQLITE_DBCONFIG_FP_DIGITS.

FossilOrigin-Name: c30cee1224904eb2092daa0ad9494aec7c7a8c6c1661f5b91b62c3ef0c5ea95b

2 months agoFix a harmless warning in the decimal extension.
drh [Sat, 21 Feb 2026 20:20:06 +0000 (20:20 +0000)] 
Fix a harmless warning in the decimal extension.

FossilOrigin-Name: f16c7c4000f2b992f7245dcaf669f13ed464579f8894f3c16842eebf41285c70

2 months agoImproved rounding of double→text conversions for rounding digits
drh [Sat, 21 Feb 2026 20:03:47 +0000 (20:03 +0000)] 
Improved rounding of double→text conversions for rounding digits
of 17.  Add the new sqlite3_db_config(), SQLITE_DBCONFIG_FP_DIGITS,
to specify the number of significant digits to preserve on conversions.

FossilOrigin-Name: 78c12b4f6ae869c3ea5e368c97b45991442bdd2d3a60935f1e6fc02a8e01cd41

2 months agoNew sqlite3_db_config(SQLITE_DBCONFIG_FP_DIGITS) that let's the application fp-performance-v2
drh [Sat, 21 Feb 2026 19:26:58 +0000 (19:26 +0000)] 
New sqlite3_db_config(SQLITE_DBCONFIG_FP_DIGITS) that let's the application
specify the number of significant digits that double→text conversions
will attempt to preserve.

FossilOrigin-Name: 3f16985dcc47a366b54164c5024f920a79dddd76faeac5e36b4770732ed72c0a

2 months agoNew test cases for floating-point conversions.
drh [Sat, 21 Feb 2026 13:57:40 +0000 (13:57 +0000)] 
New test cases for floating-point conversions.

FossilOrigin-Name: 3033fe97b14ba0531278d4aa444bc5340e044b87a72b3a4341032ddee442000f

2 months agoRemove an unreachable branch.
drh [Sat, 21 Feb 2026 13:40:07 +0000 (13:40 +0000)] 
Remove an unreachable branch.

FossilOrigin-Name: 93f90eacc0c5b2ae0042ec525359298883f8473e24967208feef4029d9fa2d08

2 months agoIncrease the precision of double → text conversions that happen in
drh [Sat, 21 Feb 2026 10:57:02 +0000 (10:57 +0000)] 
Increase the precision of double → text conversions that happen in
sqlite3_column_text(), or sqlite3_value_text(), or in the CAST() operator,
or similar, so that round-tripping the value back to double results in
exactly the same value.

FossilOrigin-Name: ef0049e3ade304f64e1ab97e52e1e21379e4db461f3fa80dac8e544fb90d622f

2 months agoFurther simplification, performance gain, and size reduction in
drh [Sat, 21 Feb 2026 00:56:11 +0000 (00:56 +0000)] 
Further simplification, performance gain, and size reduction in
sqlite3FpDecode().

FossilOrigin-Name: 5954f22ceb6b43ed160ec085cd86b66299d8aab3e349a41941a4f1c2eade7457

2 months agoSmall performance increase and size reduction in sqlite3FpDecode() by using
drh [Sat, 21 Feb 2026 00:20:29 +0000 (00:20 +0000)] 
Small performance increase and size reduction in sqlite3FpDecode() by using
local variables instead of structure elements.

FossilOrigin-Name: b4c378bba582205aa676e45b21ffa17ad6199e2a017ec73cf41a0243f693b589

2 months agoInconsequential changes to floating-point conversion, amounting to mere
drh [Fri, 20 Feb 2026 20:43:25 +0000 (20:43 +0000)] 
Inconsequential changes to floating-point conversion, amounting to mere
code cleanup to aid comprehension.

FossilOrigin-Name: 6d9c29123b6b143b0f7c8f5d018f170c72edfc5b1a4d67edd45e5552def2af6c

2 months agoIn the decimal extension, an optional second argument to the
drh [Fri, 20 Feb 2026 16:21:58 +0000 (16:21 +0000)] 
In the decimal extension, an optional second argument to the
decimal() and decimal_exp() functions rounds the value to the
number of significant digits specified by that argument.

FossilOrigin-Name: cb24edf1afc3f9083a4963c5fe232933eccc7c0cb8872aa5fcd336d226b885ef