]>
git.ipfire.org Git - thirdparty/sqlite.git/log
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
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
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
stephan [Wed, 4 Mar 2026 16:30:51 +0000 (16:30 +0000)]
Consolidate the OPFS VFS's metrics-tracking code.
FossilOrigin-Name:
b71c79ef9672c77a72a976ffcd7cbebfaf0ff314dff97b274f7d092de6a7773f
stephan [Wed, 4 Mar 2026 14:33:33 +0000 (14:33 +0000)]
Baby steps in consolidating common OPFS VFS code.
FossilOrigin-Name:
b0dd23299e97ff975f213cb3a8b051f4d7b785b29def82e01f53427fdf77ecb6
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
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
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
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
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
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
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
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
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
stephan [Tue, 3 Mar 2026 18:34:59 +0000 (18:34 +0000)]
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
drh [Tue, 3 Mar 2026 18:21:22 +0000 (18:21 +0000)]
Minor tweaks to the previous, for testability.
FossilOrigin-Name:
decb69015457b4f70cf574aeef87d40f9de60b94965f4a915e8d0cd7559ef2ae
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
stephan [Tue, 3 Mar 2026 14:13:34 +0000 (14:13 +0000)]
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
drh [Mon, 2 Mar 2026 17:11:44 +0000 (17:11 +0000)]
Convert many sqlite3_realloc() calls to sqlite3_realloc64().
FossilOrigin-Name:
88dce64242552e7443d9fb496f6f3ad71dc5b4a882ce21b7ef1d5ea4e26f1e61
drh [Mon, 2 Mar 2026 16:40:16 +0000 (16:40 +0000)]
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
drh [Mon, 2 Mar 2026 15:06:59 +0000 (15:06 +0000)]
Change some sqlite3_realloc() calls into sqlite3_realloc64().
FossilOrigin-Name:
a391f5646926787fd9a004225ea406b61d20f282c852c0282fd26cada644b601
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
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
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
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
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
drh [Sun, 1 Mar 2026 23:23:52 +0000 (23:23 +0000)]
drh [Sun, 1 Mar 2026 23:01:17 +0000 (23:01 +0000)]
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
drh [Sun, 1 Mar 2026 20:22:08 +0000 (20:22 +0000)]
Simplified rounding logic in sqlite3Fp10Convert2().
FossilOrigin-Name:
8ac63ebc5c04ba555bbf0d878a70e25deba5fcc75ff44c464600b92c27e5dcb0
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
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
drh [Fri, 27 Feb 2026 20:37:03 +0000 (20:37 +0000)]
Minor simplification to the text→binary64 conversion algorithm.
FossilOrigin-Name:
6632d51f1673e9a6b6e26baebc7aaa1ae27024ad5db1baff6ee5fcf865099f43
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
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
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
stephan [Fri, 27 Feb 2026 06:33:28 +0000 (06:33 +0000)]
stephan [Fri, 27 Feb 2026 03:21:47 +0000 (03:21 +0000)]
JS: slight performance improvements in KVVfsStorage.
FossilOrigin-Name:
56edf2addb155dbb60269fe563ecb5f6132672c6c61f6f9d18ebdff72111298d
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
drh [Thu, 26 Feb 2026 16:19:21 +0000 (16:19 +0000)]
Fix typos in the SQLITE_PREPARE_FROM_DDL documentation.
FossilOrigin-Name:
9174e7dacf867c1f80e73ccf5e0ee7b9e84fbe9f2e53559d06b72206b1cde3c6
drh [Thu, 26 Feb 2026 13:35:38 +0000 (13:35 +0000)]
Improvements to the SQLITE_PREPARE_FROM_DDL documentation.
FossilOrigin-Name:
c3288f16848866a2c846221c33631785f7b39938078bb95c61895f789395aa1d
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
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
drh [Wed, 25 Feb 2026 21:19:20 +0000 (21:19 +0000)]
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
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
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
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
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
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
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
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
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
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
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
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
drh [Sat, 21 Feb 2026 20:20:06 +0000 (20:20 +0000)]
Fix a harmless warning in the decimal extension.
FossilOrigin-Name:
f16c7c4000f2b992f7245dcaf669f13ed464579f8894f3c16842eebf41285c70
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
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
drh [Sat, 21 Feb 2026 13:57:40 +0000 (13:57 +0000)]
New test cases for floating-point conversions.
FossilOrigin-Name:
3033fe97b14ba0531278d4aa444bc5340e044b87a72b3a4341032ddee442000f
drh [Sat, 21 Feb 2026 13:40:07 +0000 (13:40 +0000)]
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
drh [Sat, 21 Feb 2026 00:56:11 +0000 (00:56 +0000)]
Further simplification, performance gain, and size reduction in
sqlite3FpDecode().
FossilOrigin-Name:
5954f22ceb6b43ed160ec085cd86b66299d8aab3e349a41941a4f1c2eade7457
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
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
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
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
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
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
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
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
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
drh [Tue, 17 Feb 2026 14:28:18 +0000 (14:28 +0000)]
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
drh [Tue, 17 Feb 2026 12:23:12 +0000 (12:23 +0000)]
drh [Tue, 17 Feb 2026 11:28:48 +0000 (11:28 +0000)]
New assert()s for the return value from sqlite3SchemaToIndex().
FossilOrigin-Name:
2610105a439e25c050b2deb32953861187c81b1d97407f41dc188e6627e0ac4d
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
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
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
drh [Mon, 16 Feb 2026 17:22:17 +0000 (17:22 +0000)]
Fix a bad assert() in the previous check-in.
FossilOrigin-Name:
a4540582b5b704af13b570b3dc609dbacada719302372a038cf74eee3688d5e7
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
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
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
drh [Mon, 16 Feb 2026 11:14:59 +0000 (11:14 +0000)]
Performance improvement in floating-point conversions.
FossilOrigin-Name:
b5ebbd004183f81902fa79a143222204b33dbe1cacb918194556b8dac67bd567
drh [Sun, 15 Feb 2026 18:41:29 +0000 (18:41 +0000)]
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
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
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
drh [Sat, 14 Feb 2026 20:48:58 +0000 (20:48 +0000)]
drh [Sat, 14 Feb 2026 19:42:55 +0000 (19:42 +0000)]
drh [Sat, 14 Feb 2026 19:36:41 +0000 (19:36 +0000)]
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
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
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
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
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
drh [Wed, 11 Feb 2026 19:42:46 +0000 (19:42 +0000)]
Minor performance enhancement to floating-point rendering.
FossilOrigin-Name:
38d8c0d8a0b0e9990ba7bdcce979f2824ffee22a083cb788a75917628b1eb559