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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

6 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

6 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

6 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

6 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

6 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FossilOrigin-Name: 93f90eacc0c5b2ae0042ec525359298883f8473e24967208feef4029d9fa2d08

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

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

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

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

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

6 weeks agoFix a cse in the fiddle.debug build where it could not overwrite its read-only/genera...
stephan [Fri, 20 Feb 2026 14:22:09 +0000 (14:22 +0000)] 
Fix a cse in the fiddle.debug build where it could not overwrite its read-only/generated index.html.

FossilOrigin-Name: 7adb2c0f438a97d377760436b1ac81fffab36e541a2b5ee733bfc7108e0180e5

6 weeks agoAdd new functions ieee754_to_int() and ieee754_from_int() to the
drh [Fri, 20 Feb 2026 14:20:33 +0000 (14:20 +0000)] 
Add new functions ieee754_to_int() and ieee754_from_int() to the
ieee754 extension.  No changes to the core SQLite.

FossilOrigin-Name: 8660d3e94cbe892693554df282bce0fa8c7aedbc5e020cab647cbbff3d7e55b7

7 weeks agoImproved rounding of floating-point conversions in some corner cases.
drh [Fri, 20 Feb 2026 12:27:52 +0000 (12:27 +0000)] 
Improved rounding of floating-point conversions in some corner cases.

FossilOrigin-Name: 436dccd42650a6ab0a74459ae42fdb3e36d853f934324acc2bc961f87c001852

7 weeks agoIn the CLI, the ".quit" command in a --cmd argument causes an immediate
drh [Thu, 19 Feb 2026 17:20:40 +0000 (17:20 +0000)] 
In the CLI, the ".quit" command in a --cmd argument causes an immediate
exit.  [forum:/forumpost/f057122b68|Forum post f057122b68].

FossilOrigin-Name: 4731cc8856aa4dcfad5db501648bfd0afef43d8c5f339e7b11a1e3ee64348b87

7 weeks agoImprovements to rounding behavior in the new floating-point conversion logic.
drh [Thu, 19 Feb 2026 12:59:42 +0000 (12:59 +0000)] 
Improvements to rounding behavior in the new floating-point conversion logic.

FossilOrigin-Name: e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18

7 weeks agoRestore the CLI function dtostr() back to its original purpose of converting
drh [Tue, 17 Feb 2026 20:28:25 +0000 (20:28 +0000)] 
Restore the CLI function dtostr() back to its original purpose of converting
floating point values to decimal using the host computer's C-library.

FossilOrigin-Name: f3cc05ba7fa9cb77573de5cd28ab90f10844567692ed57a706c5dc35b1348009

7 weeks agoMinor fixes to tmstmpvfs.c.
drh [Tue, 17 Feb 2026 14:28:18 +0000 (14:28 +0000)] 
Minor fixes to tmstmpvfs.c.

FossilOrigin-Name: 091bd90ed5a6a326fd532e93bd17903e052476da14dc6aee2599a9acf75a3276

7 weeks agoIncrease the number of floating-point precision test cases by 9x, and
drh [Tue, 17 Feb 2026 14:02:27 +0000 (14:02 +0000)] 
Increase the number of floating-point precision test cases by 9x, and
increase the require precision to 16 digits.

FossilOrigin-Name: 62c2cf74db5e47f975d1f47818f82f060ddecad4b68c4d4dbc6190cc9a8fc397

7 weeks agoFix a harmless compiler warning from MSVC.
drh [Tue, 17 Feb 2026 12:23:12 +0000 (12:23 +0000)] 
Fix a harmless compiler warning from MSVC.

FossilOrigin-Name: 12f3a6d0aaff8818c427d79e2b9394328625b3a60ccaa7b628d064084c65cfaf

7 weeks agoNew assert()s for the return value from sqlite3SchemaToIndex().
drh [Tue, 17 Feb 2026 11:28:48 +0000 (11:28 +0000)] 
New assert()s for the return value from sqlite3SchemaToIndex().

FossilOrigin-Name: 2610105a439e25c050b2deb32953861187c81b1d97407f41dc188e6627e0ac4d

7 weeks agoFurther simplifications, performance improvements, and size reductions
drh [Tue, 17 Feb 2026 01:04:23 +0000 (01:04 +0000)] 
Further simplifications, performance improvements, and size reductions
to the numeric to text conversion logic.

FossilOrigin-Name: dd5af703e1082951a4295a3453611db12b23cfbcfee4258ec3985abe96ab54ba

7 weeks agoFaster conversion of integers to text, by converting two digits at a time. numeric-conversion
drh [Tue, 17 Feb 2026 00:37:12 +0000 (00:37 +0000)] 
Faster conversion of integers to text, by converting two digits at a time.

FossilOrigin-Name: 90300e02f0de45b57d53976cae72928b3e56532d90b8b8cdc988e14762777930

7 weeks agoSimplifications to sqlite3AtoF(), resulting in slightly faster performance
drh [Mon, 16 Feb 2026 23:52:51 +0000 (23:52 +0000)] 
Simplifications to sqlite3AtoF(), resulting in slightly faster performance
and slightly smaller size.

FossilOrigin-Name: 6b9ab641763bc1620a01beec71589506b3b0827bff1c6cd98a5d17c6070050b3

7 weeks agoFix a bad assert() in the previous check-in. numeric-conversion-perf
drh [Mon, 16 Feb 2026 17:22:17 +0000 (17:22 +0000)] 
Fix a bad assert() in the previous check-in.

FossilOrigin-Name: a4540582b5b704af13b570b3dc609dbacada719302372a038cf74eee3688d5e7

7 weeks agoRefactor the sqlite3AtoF() routine so that it requires a zero-terminated
drh [Mon, 16 Feb 2026 16:56:59 +0000 (16:56 +0000)] 
Refactor the sqlite3AtoF() routine so that it requires a zero-terminated
UTF-8 input.  When the need arises to convert UTF16 or non-terminated
strings, wrapper functions are used.  Together, this makes the code slightly
smaller and faster.

FossilOrigin-Name: 67c7c72e9bdf04c920d77006538a202c923fa74b47c81dc3014c2929dac7277d

7 weeks agoFix another case where SQLite might fail to identify an ON clause on a RIGHT or FULL...
dan [Mon, 16 Feb 2026 16:56:25 +0000 (16:56 +0000)] 
Fix another case where SQLite might fail to identify an ON clause on a RIGHT or FULL join that refers to FROM-clause elements to its right.

FossilOrigin-Name: e956b36063e77b5ad0d8b8afb5dc942665f570d762929ff277e320c06ded8ce6

7 weeks agoFix a problem with identifying ON clauses attached to RIGHT or FULL JOINs (which...
dan [Mon, 16 Feb 2026 11:59:14 +0000 (11:59 +0000)] 
Fix a problem with identifying ON clauses attached to RIGHT or FULL JOINs (which is an error) if the join appeared in a flattened sub-query.

FossilOrigin-Name: cf2dc6dfad275dad8fef763a57baaaf6301b0d3bf1916be90f22200cbe0115d0

7 weeks agoPerformance improvement in floating-point conversions.
drh [Mon, 16 Feb 2026 11:14:59 +0000 (11:14 +0000)] 
Performance improvement in floating-point conversions.

FossilOrigin-Name: b5ebbd004183f81902fa79a143222204b33dbe1cacb918194556b8dac67bd567

7 weeks agoAvoid the big power-of-ten lookup table. fp-perf
drh [Sun, 15 Feb 2026 18:41:29 +0000 (18:41 +0000)] 
Avoid the big power-of-ten lookup table.

FossilOrigin-Name: 245ac7d9ec61e14fcef13a731e290fc5e8979efef6f4345f875eab9b882b0713

7 weeks agoFix to [9d3a12d3926d55ef] to force the static const string literal to
drh [Sat, 14 Feb 2026 22:04:53 +0000 (22:04 +0000)] 
Fix to [9d3a12d3926d55ef] to force the static const string literal to
have two-byte alignment.  Necessary to get that patch to work in Mac-ARM.

FossilOrigin-Name: a80c847169f307a4d2e524b6732ea557bf7f312f1a319d6c6c2e81adb0907596

7 weeks agoAdd the "LLU" suffix to 64-bit integer constants, for portability to older
drh [Sat, 14 Feb 2026 21:47:08 +0000 (21:47 +0000)] 
Add the "LLU" suffix to 64-bit integer constants, for portability to older
compilers.

FossilOrigin-Name: 4bf08110662c4b8db9ee90ce34271890a62a469166ea292f7f782b84236531d4

7 weeks agoFix to the generic version of the 128-bit multiple subroutine.
drh [Sat, 14 Feb 2026 21:31:31 +0000 (21:31 +0000)] 
Fix to the generic version of the 128-bit multiple subroutine.

FossilOrigin-Name: 9c3d09ee75beb26447161c0bf5ea252520a6ec051774f1a4e9f18204281d504f

7 weeks agoAnother minor performance refinement.
drh [Sat, 14 Feb 2026 20:48:58 +0000 (20:48 +0000)] 
Another minor performance refinement.

FossilOrigin-Name: 9d3a12d3926d55efffdc84bff342bd1dbccd08426104aeb2d339b064bf6f02f4

7 weeks agoMinor corrections.
drh [Sat, 14 Feb 2026 19:42:55 +0000 (19:42 +0000)] 
Minor corrections.

FossilOrigin-Name: 93fdee20021b8cc2a113ea042fedbccd8b53b6aceeeb34c0810e6d3a5f106f07

7 weeks agoImproved comment. No code changes.
drh [Sat, 14 Feb 2026 19:36:41 +0000 (19:36 +0000)] 
Improved comment.  No code changes.

FossilOrigin-Name: c5a4da1bf7af8f8ec4b3273f88b09c01ce90986c8a5ce3d03319bd094706c411

7 weeks agoUse a precomputed table of 696 powers of 10 to improve the performance
drh [Sat, 14 Feb 2026 17:58:46 +0000 (17:58 +0000)] 
Use a precomputed table of 696 powers of 10 to improve the performance
of floating-point to decimal and decimal to floating-point conversions.

FossilOrigin-Name: 64d9b7becf2da8927024adda278e837a46837e46af3cff51bd54a183d1716750

7 weeks agoAdd new assert() statements to demonstrate that the complaint given in
drh [Fri, 13 Feb 2026 16:02:27 +0000 (16:02 +0000)] 
Add new assert() statements to demonstrate that the complaint given in
[forum:/forumpost/56ad8b632c|forum post 56ad8b632c] is not a real bug.

FossilOrigin-Name: d62999907d5f5987fe0030e1a4a7144c898e55595ac116eec966741a5099322b

8 weeks agoUse only a single bit, rather than a whole byte, to store infrequently
drh [Fri, 13 Feb 2026 12:20:57 +0000 (12:20 +0000)] 
Use only a single bit, rather than a whole byte, to store infrequently
accessed boolean values in the Parse object.

FossilOrigin-Name: e1bcd7e1cf6d6b1add49deac65e1b64bcae52fbbad094e561846bb92959db76a

8 weeks agoAdd a "const" to avoid a harmless false-positive compiler warning.
drh [Fri, 13 Feb 2026 11:40:28 +0000 (11:40 +0000)] 
Add a "const" to avoid a harmless false-positive compiler warning.

FossilOrigin-Name: d44af6cc093ab6b5a196249a84681148bbae3f624abf4bc8cc42c88f3f7320b2

8 weeks agoRespect "const" strings in the sqlite3ShadowTableName() function.
drh [Thu, 12 Feb 2026 18:15:26 +0000 (18:15 +0000)] 
Respect "const" strings in the sqlite3ShadowTableName() function.
Patch moved to trunk, where it was intended.

FossilOrigin-Name: 51b5afdfac401cbf74af6383d4559439cb6defe2ce23ebcf7ed9a5b526a07b51

8 weeks agoMinor performance enhancement to floating-point rendering.
drh [Wed, 11 Feb 2026 19:42:46 +0000 (19:42 +0000)] 
Minor performance enhancement to floating-point rendering.

FossilOrigin-Name: 38d8c0d8a0b0e9990ba7bdcce979f2824ffee22a083cb788a75917628b1eb559