]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 hours agoImprove defenses in QRF against trying to run the same prepared statement master
drh [Fri, 10 Apr 2026 18:14:33 +0000 (18:14 +0000)] 
Improve defenses in QRF against trying to run the same prepared statement
twice, concurrently.

FossilOrigin-Name: 6ab6f622be3e1ad93166d139b5fccf9628c86d1c14c6dfb4464cb8cf52c94785

2 hours agoAPI doc correction for sqlite3_js_retry_busy(). No code changes.
stephan [Fri, 10 Apr 2026 17:55:31 +0000 (17:55 +0000)] 
API doc correction for sqlite3_js_retry_busy(). No code changes.

FossilOrigin-Name: 749c537812b907164b7e7ad1fddc1aee8106c59875d2686fe83d602cd0e07611

3 hours agoUse sqlite3_malloc() for memory allocation inside of sqlite3_str_vappendf(),
drh [Fri, 10 Apr 2026 17:11:16 +0000 (17:11 +0000)] 
Use sqlite3_malloc() for memory allocation inside of sqlite3_str_vappendf(),
since it invokes sqlite3_initialize(), whereas sqlite3DbMallocRaw() does
not.

FossilOrigin-Name: a2f84c56316ea746c134aa6e5a2b46021f67c6642161beae8122f73daeddda92

4 hours agoFix the printf() optimization added at [ccb6b6c4ac21742d] so that
drh [Fri, 10 Apr 2026 15:55:08 +0000 (15:55 +0000)] 
Fix the printf() optimization added at [ccb6b6c4ac21742d] so that
sqlite3_snprintf() does not incorrectly truncate floating-point
conversions that are close to filling the buffer, as reported in
[forum:/forumpost/2026-04-10T13:48:12z|forum post 2026-04-10T13:48:12z].

FossilOrigin-Name: a50521a16068e555aa08ee25726b081bb4cd33e3ea388b82dcbaa691c2576284

9 hours agoAttempt to work around a bug in legacy Microsoft compilers.
drh [Fri, 10 Apr 2026 10:48:04 +0000 (10:48 +0000)] 
Attempt to work around a bug in legacy Microsoft compilers.
[forum:/forumpost/2026-04-10T06:33:11z|Forum post 2026-04-10T06:33:11z].

FossilOrigin-Name: 661e1413625f55c37e2cd4d785074576d355e125231bbc1dd0a511a2b02c8e3b

10 hours agoChange a variable name to try to quash a compiler warning reported
drh [Fri, 10 Apr 2026 10:27:04 +0000 (10:27 +0000)] 
Change a variable name to try to quash a compiler warning reported
by [forum:/forumpost/2026-04-10T09:33:27z|forum post 2026-04-10T09:33:27z].
This is just a guess, as we have no way of reproducing the warning,
and hence no way of knowing if it fixes the problem.

FossilOrigin-Name: e065c019d29d4e82a21a89984b86c1811c2b1bdd4663c792857cf89ea2cd91c3

12 hours agoCorrect shell result code propagation regression introduced in [ff084ae341eab5c4...
stephan [Fri, 10 Apr 2026 08:36:55 +0000 (08:36 +0000)] 
Correct shell result code propagation regression introduced in [ff084ae341eab5c4] and reported in [forum:6fa3247e9724844c|forum post 6fa3247e9724844c].

FossilOrigin-Name: a76682a3b1d6c5e8ca16caf8afbe545c9ae39849fe21ba68d4cddae683a409b5

28 hours agoUse O_TMPFILE (on systems that support it) to security create a temporary
drh [Thu, 9 Apr 2026 16:16:39 +0000 (16:16 +0000)] 
Use O_TMPFILE (on systems that support it) to security create a temporary
file that is inaccessible to any other process.

FossilOrigin-Name: 4609ba34b8b4a6df4cd28e39d19f96e59580db0e838f1aa605cc00ea003c2a85

28 hours agoUpdates to testrunner.tcl: Shorten the prefix on created subdirectories from
drh [Thu, 9 Apr 2026 16:08:29 +0000 (16:08 +0000)] 
Updates to testrunner.tcl:  Shorten the prefix on created subdirectories from
"testrunner_bld_" to just "testrun_".  Do not append ".exe" to the names of
created subdirectories.  Add the "clean" command to recursively remove all
subdirectories and files created by a test run.

FossilOrigin-Name: 450c7edf1247024db4b66f38bf9561c5c6b0c4175c4df8de17019aea6cbde5cf

28 hours agoVersion number to 3.54.0 to begin the next development cycle.
drh [Thu, 9 Apr 2026 16:03:56 +0000 (16:03 +0000)] 
Version number to 3.54.0 to begin the next development cycle.

FossilOrigin-Name: 4c2a5c9bb40c63bb9d0f633f78d132bdd69b9d755d4e6d5e3cb534e63b383a4e

30 hours agoMake use of O_TMPFILE for more secure temporary file creation, when that o_tmpfile
drh [Thu, 9 Apr 2026 14:12:09 +0000 (14:12 +0000)] 
Make use of O_TMPFILE for more secure temporary file creation, when that
option is available.

FossilOrigin-Name: 094fc6da0768ea0ec4b4d3dc020cd6025aab341550d6cea6be7487ac570f9171

33 hours agoVersion 3.53.0 major-release release version-3.53.0
drh [Thu, 9 Apr 2026 11:41:38 +0000 (11:41 +0000)] 
Version 3.53.0

FossilOrigin-Name: 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b

34 hours agoFix some buffer overreads that might occur in the session module when handling corrup...
dan [Thu, 9 Apr 2026 10:39:32 +0000 (10:39 +0000)] 
Fix some buffer overreads that might occur in the session module when handling corrupt changesets.

FossilOrigin-Name: cda5dd9bcbef2135bb9855139a11d0e22a092f9498d82eb18e7d4401264b6eb8

38 hours agoWhen generating make.sh for testrunner, correctly quote the value of any options...
dan [Thu, 9 Apr 2026 06:38:31 +0000 (06:38 +0000)] 
When generating make.sh for testrunner, correctly quote the value of any options passed via environment variable OPTS.

FossilOrigin-Name: 0837933b49f5fc5590f2052808bc305aceccafbf5db65aae250c594ce48d4d32

39 hours agoFix some buffer overreads that might occur in the session module when handling corrup... session-fixes
dan [Thu, 9 Apr 2026 05:33:19 +0000 (05:33 +0000)] 
Fix some buffer overreads that might occur in the session module when handling corrupt changesets.

FossilOrigin-Name: 8fcf92e15d87487703afc1129f3a89a8d4d72cb30d30a1a9151a5596473069bd

2 days agoFix a buffer overflow bug in a recent check-in, reported by unsolicted
drh [Wed, 8 Apr 2026 17:00:33 +0000 (17:00 +0000)] 
Fix a buffer overflow bug in a recent check-in, reported by unsolicted
email from OpenAI/Codex.

FossilOrigin-Name: be891a137af15897691250324e4d3d9c96f0c5fb414bca27d0c3bfdd3012a8a2

3 days agoFix a few doc typos and inconsistencies. No code changes.
stephan [Tue, 7 Apr 2026 15:54:35 +0000 (15:54 +0000)] 
Fix a few doc typos and inconsistencies. No code changes.

FossilOrigin-Name: 025abd4cf409fb9938e116289f23dc5bcd6d14feb46066221e691b146ee9b354

3 days agoFix incorrect datatype on the auto_ext_leak_tester() function in the CLI.
drh [Tue, 7 Apr 2026 12:51:52 +0000 (12:51 +0000)] 
Fix incorrect datatype on the auto_ext_leak_tester() function in the CLI.

FossilOrigin-Name: 4a36454904e1c5e7d25406713ab0125f11df66eabe0d378edcb837ef8dedc981

3 days agoFix redundant typedef in qrf.c when that file is amalgamated into
drh [Tue, 7 Apr 2026 11:31:41 +0000 (11:31 +0000)] 
Fix redundant typedef in qrf.c when that file is amalgamated into
tclsqlite3.c.

FossilOrigin-Name: b8f0c71b48953cb6d5a8b3d33d004a31b63c59d59d455f285bf8fa91c3b07129

3 days agoReplace a doc reference to a renamed file, as reported by [forum:5d9d70c618|forum...
stephan [Tue, 7 Apr 2026 09:15:21 +0000 (09:15 +0000)] 
Replace a doc reference to a renamed file, as reported by [forum:5d9d70c618|forum post 5d9d70c618]. No code changes.

FossilOrigin-Name: c8121593fa455cd43b3878f8b65ebac47c07dab4b8ce081aa34b14fc9440afbc

3 days agoAdd a dummy auto-extension to the shell in SQLITE_DEBUG builds to validate that ...
stephan [Mon, 6 Apr 2026 22:00:20 +0000 (22:00 +0000)] 
Add a dummy auto-extension to the shell in SQLITE_DEBUG builds to validate that [9d56df17b4ab49] does the right thing.

FossilOrigin-Name: 164af3703b8fb5d88612edcceeaae0ae5a230c34c7a0f2ac9b650f5a742b2787

4 days agoAdd a call to sqlite3_reset_auto_extension() near the end of shell.c.in:main() to...
stephan [Mon, 6 Apr 2026 20:24:02 +0000 (20:24 +0000)] 
Add a call to sqlite3_reset_auto_extension() near the end of shell.c.in:main() to squelch a leak message when SQLITE_EXTRA_INIT adds auto-extensions, as reported in [forum:310cb231b07c80d1|forum post 310cb231b07c80d1].

FossilOrigin-Name: c4dd7e8b36deced3ee9cc6b5f87d8b3cc9a752cad8d62c9b711c7b58db11834b

6 days agoAppease static analyzers by masking the index to the
drh [Sat, 4 Apr 2026 14:43:37 +0000 (14:43 +0000)] 
Appease static analyzers by masking the index to the
WalHashLoc.aPgno array to make it easy to prove that there
is never OOB read or write.

FossilOrigin-Name: 9d56df17b4ab4940f7bc24488a9df118f6172fcfbf3e5cb95bdcbd2db2a07911

6 days agoAdd some comments to the OPFS async proxy about potential future experimentation...
stephan [Sat, 4 Apr 2026 08:07:25 +0000 (08:07 +0000)] 
Add some comments to the OPFS async proxy about potential future experimentation. No code changes.

FossilOrigin-Name: 9c14ee74305a5db3be95dbd9ae8d1db0abf39b323001be4e2f02b7226e6ca0d3

7 days agoEnhance testrunner.tcl so that a PATTERN argument that begins with "~" is
drh [Fri, 3 Apr 2026 19:48:01 +0000 (19:48 +0000)] 
Enhance testrunner.tcl so that a PATTERN argument that begins with "~" is
an "anti-pattern".  Only run tests that match one or more patterns if there
are any patterns *and* do not match any anti-pattern.

FossilOrigin-Name: c313d91bb67b56be2db46194c3baa5a72b469595de3b2abe249612838dc175e4

7 days agoconfigure script: replace two 'file normalize' calls with file-normalize (a tcl/jimsh...
stephan [Fri, 3 Apr 2026 13:54:48 +0000 (13:54 +0000)] 
configure script: replace two 'file normalize' calls with file-normalize (a tcl/jimsh compatibility issue) to fix --with-linenoise. Problem reported in [forum:ce688d13793bd78f|forum post ce688d13793bd78f].

FossilOrigin-Name: 2be1c5a3e47f1276b9f0a4771f2d5fb0bc1ccb907c855caa04d757b4145533f5

7 days agoFix Tcl9 compatibility issues in test_session.c.
drh [Fri, 3 Apr 2026 11:48:00 +0000 (11:48 +0000)] 
Fix Tcl9 compatibility issues in test_session.c.

FossilOrigin-Name: 1387b5819085146cafb0e8740410faaa48bfb5aefc78ff763aaa8e85744d48b3

8 days agoMinor patch to test/json/json-speed-check.sh. That script is not maintained,
drh [Thu, 2 Apr 2026 16:21:47 +0000 (16:21 +0000)] 
Minor patch to test/json/json-speed-check.sh.  That script is not maintained,
but this fix at least gets it working for now.

FossilOrigin-Name: 9d92e371ca375776d251fe446f17a437823cc96e48a5c45f42cb0768d0a47f65

9 days agoFix a potential 4-byte overread in the sessions module when processing a corrupt...
dan [Wed, 1 Apr 2026 17:43:22 +0000 (17:43 +0000)] 
Fix a potential 4-byte overread in the sessions module when processing a corrupt changeset.

FossilOrigin-Name: c1c7e024c34da8eb0258ce552f3f81921280ccf0f1fea59374f381c0c7b43b74

9 days agoAlways use sqlite3_malloc64() in extensions, where possible.
drh [Wed, 1 Apr 2026 16:56:48 +0000 (16:56 +0000)] 
Always use sqlite3_malloc64() in extensions, where possible.

FossilOrigin-Name: 6194f3b5314ef98b5d73060450de8e3497272494b47e6f96992453418894ded1

9 days agoFix a problem in the sessions module allowing a NULL pointer to be passed to memcpy().
dan [Wed, 1 Apr 2026 16:11:47 +0000 (16:11 +0000)] 
Fix a problem in the sessions module allowing a NULL pointer to be passed to memcpy().

FossilOrigin-Name: 91ead3c62dd7b1db3fdfd318e3c35a42fb33e8fa2e347b682eecbff2f4e8677b

9 days agoMinor improvements to the documentation on how to compile for Unix.
drh [Wed, 1 Apr 2026 11:54:20 +0000 (11:54 +0000)] 
Minor improvements to the documentation on how to compile for Unix.
No changes to code.

FossilOrigin-Name: 7bc1d0c4572f126cfe68fa51fe992d2bd46b1e57c04721991bd5fad36dd795c5

9 days agoDoc cleanups in opfs-wl. No code changes.
stephan [Wed, 1 Apr 2026 11:39:13 +0000 (11:39 +0000)] 
Doc cleanups in opfs-wl. No code changes.

FossilOrigin-Name: 009b576dcd5fccaaa52459dbfaa1b2a6fcf6d372e4b8d63553dfa88aab9a759c

10 days agoAdd appropriate headers to ext/session/sqlite3session.h so that the
drh [Tue, 31 Mar 2026 18:49:23 +0000 (18:49 +0000)] 
Add appropriate headers to ext/session/sqlite3session.h so that the
documentation generator will pick up the API documentation for the
new one-at-a-time changegroup APIs.

FossilOrigin-Name: da514f10b7804fd0affaf0fd4b8089012288ba99c165ef4ab78ab28edd331211

10 days agoAdd an API to the sessions module to add changes one at a time to an sqlite3_changegr...
dan [Tue, 31 Mar 2026 10:59:13 +0000 (10:59 +0000)] 
Add an API to the sessions module to add changes one at a time to an sqlite3_changegroup object.

FossilOrigin-Name: cf1122ea6409bcbd341b67ae45147abb8d5cd491ae95491c801d0621181da40b

10 days agoUpdate this branch with changes from trunk. changegroup-change-api
dan [Tue, 31 Mar 2026 10:52:00 +0000 (10:52 +0000)] 
Update this branch with changes from trunk.

FossilOrigin-Name: 716e62e3d1d6ff96f6e4906175818439103e9534e89bec4a86776265a04954b9

10 days agoTurn an incorrect assert() into a testcase(). Fix over-length code lines
drh [Tue, 31 Mar 2026 10:32:23 +0000 (10:32 +0000)] 
Turn an incorrect assert() into a testcase().  Fix over-length code lines
in the sqlite.h.in source file.  Fix the documentation on OOM conditions
in the sqlite3_value_text() family of APIs.

FossilOrigin-Name: 934582706109d2ebda26952c7c95f7a5095fa47ec837570a66c991866f7d08cf

11 days agoMove some build docs around for clarity. Move the TARGET_DEBUG flags from the end...
stephan [Mon, 30 Mar 2026 15:44:20 +0000 (15:44 +0000)] 
Move some build docs around for clarity. Move the TARGET_DEBUG flags from the end of T.cc to the beginning so that -Ox flags can be passed to make for specific binaries without having to reconfigure.

FossilOrigin-Name: 240294653ceb202b847699e9691140db4fe623a03d86fa3cf7495f8831576331

11 days agoRemove an unused variable in sqlite3Reindex(). Minor enhancements to the
drh [Mon, 30 Mar 2026 10:00:48 +0000 (10:00 +0000)] 
Remove an unused variable in sqlite3Reindex().  Minor enhancements to the
header comment on sqlite3AtoF().

FossilOrigin-Name: fbba900728d444f6a0b428197ebb41fe039b235e18caa2243c9f8f04fce42595

11 days agoEnhance the printf() formatter to write floating point conversions directly
drh [Sun, 29 Mar 2026 23:37:16 +0000 (23:37 +0000)] 
Enhance the printf() formatter to write floating point conversions directly
into the output buffer, rather than staging into an intermediate buffer.

FossilOrigin-Name: ccb6b6c4ac21742dbfc435cf3a2a0dc887075b3e0877aea7ed8eace08b7b5571

11 days agoFix harmless compiler warnings about unused variable assignments. direct-printf
drh [Sun, 29 Mar 2026 22:41:12 +0000 (22:41 +0000)] 
Fix harmless compiler warnings about unused variable assignments.

FossilOrigin-Name: afe7e9fd1c476c7cdcefab0adf0191a8dc3283811f72a685fff3eb6539b72dcc

12 days agoMerge trunk performance enhancements and fixes into the direct-printf branch.
drh [Sun, 29 Mar 2026 19:23:47 +0000 (19:23 +0000)] 
Merge trunk performance enhancements and fixes into the direct-printf branch.

FossilOrigin-Name: 9fa9cd11f8f5f7591168870c6e41121221b58a4a3094e708e3fa5bab1502f190

12 days agoAvoid using unsigned 64-bit integer division on platforms that do not support
drh [Sun, 29 Mar 2026 19:06:36 +0000 (19:06 +0000)] 
Avoid using unsigned 64-bit integer division on platforms that do not support
it in hardware.

FossilOrigin-Name: 2197677491dfc5ec87b57bbf807776875248a250f80ce9a5ce94ae385bb1d2bc

12 days agoThe _umulh() intrinsic function is not available on 32-bit windows. So don't
drh [Sun, 29 Mar 2026 10:32:25 +0000 (10:32 +0000)] 
The _umulh() intrinsic function is not available on 32-bit windows.  So don't
use it there.

FossilOrigin-Name: e75f30c7e66e725a2f3f46c7d4d69a2ff925e2de9a86c3a6ec38897545b43a58

13 days agoIn sqlite3_str_vappendf(), write floating-point renderings directly into
drh [Sat, 28 Mar 2026 20:24:47 +0000 (20:24 +0000)] 
In sqlite3_str_vappendf(), write floating-point renderings directly into
the output buffer, saving a memcpy().

FossilOrigin-Name: e4e040e7aaaf5bfccbf0414fee3d08c5fdc24e03d1118dce92d2dd16c614ce63

13 days agoRemove a harmless unused variable from the fp-speed-2.c benchmark.
drh [Sat, 28 Mar 2026 14:21:53 +0000 (14:21 +0000)] 
Remove a harmless unused variable from the fp-speed-2.c benchmark.

FossilOrigin-Name: ff9008e7615d877e6cc852c60097777006b274971646d368eaa56b99a7acf6c7

13 days agoEnhancements to the fp-speed-N.c programs, suggested by Andreas Kupries.
drh [Sat, 28 Mar 2026 14:17:53 +0000 (14:17 +0000)] 
Enhancements to the fp-speed-N.c programs, suggested by Andreas Kupries.

FossilOrigin-Name: 7d81ff4c509d4039ef9e2f1066284ec560131422db0cbffa7e1826d71bb8f8e1

13 days agoReduce the compiled size of the quote() SQL function.
drh [Sat, 28 Mar 2026 13:59:34 +0000 (13:59 +0000)] 
Reduce the compiled size of the quote() SQL function.

FossilOrigin-Name: 9ea980a35628f7d0741ab6c65840ab9dab8abb576c6c60109147336452f9637a

13 days agoTurn an sqlite3VMPrintf() into an sqlite3DbStrDup().
drh [Sat, 28 Mar 2026 13:30:47 +0000 (13:30 +0000)] 
Turn an sqlite3VMPrintf() into an sqlite3DbStrDup().

FossilOrigin-Name: 75e8703664ae94244284819d9021877a5fc33a268fb86f3e70de20875a766d80

2 weeks agoFix up the floating-point speed tests so that they only need to be run once
drh [Fri, 27 Mar 2026 20:18:06 +0000 (20:18 +0000)] 
Fix up the floating-point speed tests so that they only need to be run once
to get a performance comparision.  Provide the fp-speed-test makefile target
to build and run them both.

FossilOrigin-Name: 09e0e78a8265c2e2bc36fef1fa88bd5bf414f9b776966c1c91a4ed4b7866331d

2 weeks agoAdd a comment to test/fptest01.sql to remind us that failures in that
drh [Fri, 27 Mar 2026 19:25:25 +0000 (19:25 +0000)] 
Add a comment to test/fptest01.sql to remind us that failures in that
script might not be the fault of SQLite.

FossilOrigin-Name: 65efcb0a2ed49fa2fd747b5f034d976ed3cb4a01a185bcada70bf8a5208f3841

2 weeks agoNew test cases for text→float conversions.
drh [Fri, 27 Mar 2026 18:58:50 +0000 (18:58 +0000)] 
New test cases for text→float conversions.

FossilOrigin-Name: bbf2d648376a965605d5c641a889ab7ef365bc53788d984c054468e9889deee6

2 weeks agoEnable the use of intrinsic high-precision multiplies on Windows ARM.
drh [Fri, 27 Mar 2026 16:09:10 +0000 (16:09 +0000)] 
Enable the use of intrinsic high-precision multiplies on Windows ARM.
Make the SQLITE_DISABLE_INTRINSIC option effective on high-precision
multiple subroutines, for testing purposes.

FossilOrigin-Name: efb6212de4ca998546329b06b43122f0fffa3759e4615ca3357ef9fa13606d44

2 weeks agoChange the print resolution the fp-speed-1.c test to 17 digits.
drh [Fri, 27 Mar 2026 14:54:01 +0000 (14:54 +0000)] 
Change the print resolution the fp-speed-1.c test to 17 digits.

FossilOrigin-Name: c687b32a956315ddf4336df42deb4037c37d51b536b8a24c5cef4c5a0bc4c79b

2 weeks agoUpdate fp-speed-1.c and fp-speed-2.c to include its own timers, so that it
drh [Fri, 27 Mar 2026 14:19:01 +0000 (14:19 +0000)] 
Update fp-speed-1.c and fp-speed-2.c to include its own timers, so that it
works on platforms that lack the "time" command.

FossilOrigin-Name: 9b083070de2d782fe1db62652af8f3cd48abe16b55b974f3927b738e3d914887

2 weeks agoAdd the fp-speed-2.c performance test program.
drh [Fri, 27 Mar 2026 14:03:41 +0000 (14:03 +0000)] 
Add the fp-speed-2.c performance test program.

FossilOrigin-Name: b788256f1980531e7abb15c5fbcdd40ae166f091aea28f449c0407105ddf1aa4

2 weeks agoAdd a comment showing reserved file-control numbers to sqlite3.h
drh [Fri, 27 Mar 2026 11:46:11 +0000 (11:46 +0000)] 
Add a comment showing reserved file-control numbers to sqlite3.h

FossilOrigin-Name: cd472d7c85f3fda54bba5166eae72b5f9b86861c4a1160583e8ee902ba992255

2 weeks agoAdd SQLITE_STRICT_SUBTYPE to PRAGMA compile_options, an omission reported in [forum...
stephan [Thu, 26 Mar 2026 19:11:57 +0000 (19:11 +0000)] 
Add SQLITE_STRICT_SUBTYPE to PRAGMA compile_options, an omission reported in [forum:3906a71526|forum post 3906a71526].

FossilOrigin-Name: c5af6a10245b6b847d30002806c1577b020c36ab27f7b1cf202ade136aa4779c

2 weeks agoEnhance the return value from sqlite3AtoF() so that it reports if the input
drh [Thu, 26 Mar 2026 18:19:47 +0000 (18:19 +0000)] 
Enhance the return value from sqlite3AtoF() so that it reports if the input
includes more than 19.25 significant digits.

FossilOrigin-Name: 1721c8da769816ca16104cd636299d84f682fc004938a50056b76b269e49e915

2 weeks agoRevamp the return code from sqlite3AtoF() for additional information and
drh [Thu, 26 Mar 2026 16:33:03 +0000 (16:33 +0000)] 
Revamp the return code from sqlite3AtoF() for additional information and
for small speed improvement and size reduction.

FossilOrigin-Name: f10a431eade20ecd4c4d501fc534e2dae6ab2fe67302ea7bb3cd6eba127848fc

2 weeks agoImprovements to the sqlite3AtoF() interface. Add a test-control for
drh [Thu, 26 Mar 2026 14:19:34 +0000 (14:19 +0000)] 
Improvements to the sqlite3AtoF() interface.  Add a test-control for
direct testing of sqlite3AtoF().

FossilOrigin-Name: 97ee48b6ef65fb55633196282c9e75b3b0a3b81ba9755f63493a38e3f1a5610c

2 weeks agoBack out the sqlite3_atof() API, for now.
drh [Thu, 26 Mar 2026 12:09:37 +0000 (12:09 +0000)] 
Back out the sqlite3_atof() API, for now.

FossilOrigin-Name: 7568d264be3988df195401158d8d07105b8e9e018eccf98ac948219bee9388ac

2 weeks agoFix an off-by-one error that cause a loop to (harmlessly) run more times
drh [Wed, 25 Mar 2026 21:23:23 +0000 (21:23 +0000)] 
Fix an off-by-one error that cause a loop to (harmlessly) run more times
than necessary.  Performance optimization, not a bug fix.

FossilOrigin-Name: 58f4e058f1cbb798b8a48208c6310fd10ca9cd1fc7c550f3ed283cf38ae45c2f

2 weeks agoPerformance optimization when zero-padding in printf().
drh [Wed, 25 Mar 2026 21:05:18 +0000 (21:05 +0000)] 
Performance optimization when zero-padding in printf().

FossilOrigin-Name: dbd81abdc6633124e72999321db6fc8640851fa5eb063e6317a4c3e57b48dbaa

2 weeks agoSmall size reduction and performance increase in sqlite3Atoi64().
drh [Wed, 25 Mar 2026 19:36:16 +0000 (19:36 +0000)] 
Small size reduction and performance increase in sqlite3Atoi64().

FossilOrigin-Name: c818165fd709b813ab07788662bf69205ece2dcea41346609b3439950f900057

2 weeks agoSignification optimizations to layout of text for floating point
drh [Wed, 25 Mar 2026 17:59:22 +0000 (17:59 +0000)] 
Signification optimizations to layout of text for floating point
conversions in sqlite3_str_vappendf().

FossilOrigin-Name: 6a74df6d6ecfda8e0ff72ca0f4167190e989973ad124412892f7d36f1666ccfc

2 weeks agoHandle the case where the compile-time default page-size is greater than 8192 bytes.
dan [Wed, 25 Mar 2026 11:19:38 +0000 (11:19 +0000)] 
Handle the case where the compile-time default page-size is greater than 8192 bytes.

FossilOrigin-Name: 3aea251f238277c68d7a80a4fa643bb0f80b274cef77ef32c4eb833cfaf46740

2 weeks agoPrevent overly long JSON paths from using too much stack space.
drh [Tue, 24 Mar 2026 19:26:05 +0000 (19:26 +0000)] 
Prevent overly long JSON paths from using too much stack space.

FossilOrigin-Name: 82a0794814bbc095235f8158a4129a5d83f6af1b0c27cb56449ea32feb44faf5

2 weeks agoLimit JSONB recursion depth in the json_patch() function.
drh [Tue, 24 Mar 2026 12:39:05 +0000 (12:39 +0000)] 
Limit JSONB recursion depth in the json_patch() function.

FossilOrigin-Name: f8659b700c0088abe19ce65fec032c1005a1f750566488f4578256d41558770c

2 weeks agoImproved error messages for JSONB nested too deep.
drh [Tue, 24 Mar 2026 11:54:55 +0000 (11:54 +0000)] 
Improved error messages for JSONB nested too deep.

FossilOrigin-Name: 82036fafa175e798fd32b3dc4ad043fc2bbe2bb2af17781f12dcb4d23a233865

2 weeks agoRemove a stale reference to the long-removed SQLITE_MUTEX_APPDEF, as pointed out...
stephan [Tue, 24 Mar 2026 11:33:22 +0000 (11:33 +0000)] 
Remove a stale reference to the long-removed SQLITE_MUTEX_APPDEF, as pointed out in [forum:348453389b|forum post 348453389b].

FossilOrigin-Name: cb8e55b59113d0102c50db0a43b1b59d531cdcb12a7cce4c4c9a428c7c6e1adf

2 weeks agoMinor simplification to JSON path error reporting.
drh [Tue, 24 Mar 2026 11:25:44 +0000 (11:25 +0000)] 
Minor simplification to JSON path error reporting.

FossilOrigin-Name: 1cd30c4827e382861cf12af48579eedc9685b9612dedb6a2844f20355b910e7e

2 weeks agoRecognize artifical JSONB blobs with deep recursion as being ill-formed.
drh [Tue, 24 Mar 2026 00:31:28 +0000 (00:31 +0000)] 
Recognize artifical JSONB blobs with deep recursion as being ill-formed.

FossilOrigin-Name: adac4ed1f13a9a1c4a34c8f59438eac68867981748629ca3957055ad9f940299

2 weeks agoMove datatype and structure definitions up near the top in the CLI source code,
drh [Mon, 23 Mar 2026 21:03:34 +0000 (21:03 +0000)] 
Move datatype and structure definitions up near the top in the CLI source code,
to facilitate future changes.  No changes to the actual logic (yet).

FossilOrigin-Name: 6b3d84d34d1a84eb8ddff08cd85d9dff6e71099e7a4b2c19db8774d942d3a040

2 weeks agoRequire a button click to start the OPFS concurrency tester, rather than simply launc...
stephan [Mon, 23 Mar 2026 13:17:13 +0000 (13:17 +0000)] 
Require a button click to start the OPFS concurrency tester, rather than simply launching all N workers immediately on page load.

FossilOrigin-Name: 3342d6786e07d3d8dd4b1f2291edea9f8354d384ff21242cc513c218ce6f1630

2 weeks agoUse sqlite3_atof() instead of atof() in the CLI. Dogfooding.
drh [Mon, 23 Mar 2026 13:00:56 +0000 (13:00 +0000)] 
Use sqlite3_atof() instead of atof() in the CLI.  Dogfooding.

FossilOrigin-Name: 276c350313a1ac2ebc70c1e8e50ed4baecd4be4d4c93ba04cf5e0078da18700e

2 weeks agoMove the definition of the new sqlite3_atof() function in sqlite3.h so
drh [Mon, 23 Mar 2026 12:25:52 +0000 (12:25 +0000)] 
Move the definition of the new sqlite3_atof() function in sqlite3.h so
that it is adjacent to sqlite3_mprintf().

FossilOrigin-Name: 1553a60506fa29b5f00535ae0f7aeb8cc94ebe84015386b3248fd8491108fc60

2 weeks agoAdd the sqlite3_atof() interface.
drh [Mon, 23 Mar 2026 10:58:29 +0000 (10:58 +0000)] 
Add the sqlite3_atof() interface.

FossilOrigin-Name: 52f76c59f27152dd62069bd833e2409d57d0cd36ccaa568b2ec4ec823e98cb44

2 weeks agoProposed new API routine: sqlite3_atof(). atof
drh [Sun, 22 Mar 2026 20:52:23 +0000 (20:52 +0000)] 
Proposed new API routine: sqlite3_atof().

FossilOrigin-Name: db370f0f628895279a1c1db79ba7428cb4e31b56cafc191859c2f1a5a924435b

2 weeks agoPerformance enhancements and improved documentation for sqlite3AtoF().
drh [Sun, 22 Mar 2026 18:26:43 +0000 (18:26 +0000)] 
Performance enhancements and improved documentation for sqlite3AtoF().

FossilOrigin-Name: 62f011509600ab8cda28888ebd32e5faa4e865702755bc32dee7a12bf2f4425d

2 weeks agoAdditional performance improvements in sqlite3AtoF(). Also update the optimize-atof
drh [Sun, 22 Mar 2026 17:50:48 +0000 (17:50 +0000)] 
Additional performance improvements in sqlite3AtoF().  Also update the
header comments.

FossilOrigin-Name: 8c3a1b450d6d5778004b9fb0e92b4f3f90d3e06ff87276370d01a45b7d607d23

2 weeks agoFurther simplification and performance improvement
drh [Sun, 22 Mar 2026 02:51:18 +0000 (02:51 +0000)] 
Further simplification and performance improvement

FossilOrigin-Name: 6c3dc2430adef061b458b6d9159628bb8debfd4d63876d5d5e7493afb799d97f

2 weeks agoPerformance improvements in the floating-point number parser.
drh [Sun, 22 Mar 2026 02:26:38 +0000 (02:26 +0000)] 
Performance improvements in the floating-point number parser.

FossilOrigin-Name: aea648f3668219a2539160eb68c77ddd06aa8eac235c1326fe7b1547288b11ee

2 weeks agoBecause version 3.52.0 was withdrawn, that means QRF has never been
drh [Sat, 21 Mar 2026 19:49:38 +0000 (19:49 +0000)] 
Because version 3.52.0 was withdrawn, that means QRF has never been
officially released.  Hence the new nMultiInsert field of the spec
can be moved out of the extensions area and into the main part of the
spec, and the version number can drop back from 2 to 1.

FossilOrigin-Name: cf19982241afb17e3db4148b8257f6737141935a291c340ab085c42ed946af1a

2 weeks agoTry to fix harmless compiler warnings from legacy C compilers in the CLI.
drh [Sat, 21 Mar 2026 13:21:41 +0000 (13:21 +0000)] 
Try to fix harmless compiler warnings from legacy C compilers in the CLI.

FossilOrigin-Name: 8e1d0c4eac303cd0834449f4792605c0ed983db1f360af42300f0048dadbbef8

2 weeks agoAdd support for REINDEX EXPRESSIONS
drh [Sat, 21 Mar 2026 13:05:54 +0000 (13:05 +0000)] 
Add support for REINDEX EXPRESSIONS

FossilOrigin-Name: d56954146ce5eccd63b65242abe2e6556dbceda39a58eab39f5884884afea337

2 weeks agoUndo "indices"→"indexes" changes in comments, to avoid diff clutter. reindex-expressions
drh [Sat, 21 Mar 2026 12:55:57 +0000 (12:55 +0000)] 
Undo "indices"→"indexes" changes in comments, to avoid diff clutter.
Fix a couple of unreachable branches.

FossilOrigin-Name: 0042ff9afd00eca0a837e9bbe57540ff2810fcd58b4f7e3f4e3b83aad5699757

3 weeks agoFix harmless compiler warnings in the csv.c.
drh [Fri, 20 Mar 2026 20:35:21 +0000 (20:35 +0000)] 
Fix harmless compiler warnings in the csv.c.

FossilOrigin-Name: 6ac701f89e2ac8dfd18d041eb8c36a0c2b9fedc5618d3a95be794aecce5c59cf

3 weeks agoIf the argument to REINDEX is EXPRESSIONS (with no schema prefix) then it
drh [Fri, 20 Mar 2026 19:30:58 +0000 (19:30 +0000)] 
If the argument to REINDEX is EXPRESSIONS (with no schema prefix) then it
updates both expression indexes, and any indexes named "expressions" or
all indexes of any tables name "expressions".

FossilOrigin-Name: 72650dc152279a6da1937f377b1e16b79f4cd664841e12222dc5459838408d22

3 weeks agoIf there are not collating sequences, tables, or indexes named "EXPRESSIONS"
drh [Fri, 20 Mar 2026 14:37:39 +0000 (14:37 +0000)] 
If there are not collating sequences, tables, or indexes named "EXPRESSIONS"
then the "REINDEX EXPRESSIONS" command rebuilds all expression indexes.

FossilOrigin-Name: df5c5aa26758e0dc00a9ccba29eac83071176d257e121207e0a13c54833b18c0

3 weeks agoEnsure that collation sequences on non-PK columns of a WITHOUT ROWID table are used...
dan [Fri, 20 Mar 2026 11:35:15 +0000 (11:35 +0000)] 
Ensure that collation sequences on non-PK columns of a WITHOUT ROWID table are used correctly when they are part of a row value comparison. Fix for forum post [forum:7a308e933d | 7a308e933d].

FossilOrigin-Name: 078b3162d0d3d3035f4d3ad88664066d99c218a731ac481b9f1172529e26e4eb

3 weeks agoEnsure that sqlite3RCStr values returned by json_group_array() and
drh [Thu, 19 Mar 2026 23:49:29 +0000 (23:49 +0000)] 
Ensure that sqlite3RCStr values returned by json_group_array() and
json_group_object() are zero-terminated.

FossilOrigin-Name: 88a931ea2ae734478928c2a6021b00b0f2be490328260630e176cf3cc7111472

3 weeks agoUpdate fts5 scan costs to take into account that a prefix query combined with a rowid...
dan [Thu, 19 Mar 2026 17:56:10 +0000 (17:56 +0000)] 
Update fts5 scan costs to take into account that a prefix query combined with a rowid equality constraint is still quite expensive.

FossilOrigin-Name: 539769b63e4044018be2993894b1962df6a6ae58636682b7fb7a2dd5aaf4075c

3 weeks agoRestructure some internal subroutine signatures for improved
drh [Thu, 19 Mar 2026 17:08:08 +0000 (17:08 +0000)] 
Restructure some internal subroutine signatures for improved
performance of affinity type conversions.

FossilOrigin-Name: 2bc6ce87b39c6ae324c3641c5af60e000df7d7c6d5fd2dd1a318c94cbb4aef84

3 weeks agoUse compiler intrinsics to improve the performance of
drh [Thu, 19 Mar 2026 13:40:40 +0000 (13:40 +0000)] 
Use compiler intrinsics to improve the performance of
sqlite3Multiply160().

FossilOrigin-Name: 3c64f31392328f51e205fde52f19cf70c193e90897ccb7e93c685bad4f342cac

3 weeks agoDo not assume that a recursive CTE emits rows in ORDER BY order. Fix for forum post...
dan [Thu, 19 Mar 2026 10:51:40 +0000 (10:51 +0000)] 
Do not assume that a recursive CTE emits rows in ORDER BY order. Fix for forum post [forum:deb1eadf4d677bd5 | deb1eadf4d677bd5].

FossilOrigin-Name: cadb6cdd32c3c9abd7e063f25acd39dddc9ff764a16019ffd5aa11063175326f

3 weeks agoReverse the if() condition added by this branch. forum-deb1eadf4d
dan [Thu, 19 Mar 2026 10:39:24 +0000 (10:39 +0000)] 
Reverse the if() condition added by this branch.

FossilOrigin-Name: a9a0dd521c7c24b0c8b22abf2a131028f4dc9cd233678dc1f658da81a4a70e4b

3 weeks agoContinue enforcing the legacy declaration-before-statement C-language rule,
drh [Wed, 18 Mar 2026 22:31:56 +0000 (22:31 +0000)] 
Continue enforcing the legacy declaration-before-statement C-language rule,
since some downstream still uses it.

FossilOrigin-Name: 5c237f1f863a32cf229010d2024d0d1e76a07a4d8b9492b26503b959f1c32485

3 weeks agoAdd logic to silently and transparently deal with stale expression index
drh [Wed, 18 Mar 2026 20:17:48 +0000 (20:17 +0000)] 
Add logic to silently and transparently deal with stale expression index
values when deleting or update a table row, instead of reporting a corrupt
database.  Enhance PRAGMA integrity_check to identify non-serious
stale expression index entries as such, rather than proclaiming that the
indexes is broken.

FossilOrigin-Name: 0ed040128b7ebb5be438b1841607ed9c525b271cac81021bc356cf573d1cd516

3 weeks agoMinor optimization to error message generation in integrity_check. idxdelete-tolerance
drh [Wed, 18 Mar 2026 18:14:14 +0000 (18:14 +0000)] 
Minor optimization to error message generation in integrity_check.

FossilOrigin-Name: e0fa7c500052af9d36cb2d232131ef93361403187f4a60f53279b102c7a95860