]>
git.ipfire.org Git - thirdparty/sqlite.git/log
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
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
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
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
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
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
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
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
drh [Thu, 9 Apr 2026 11:41:38 +0000 (11:41 +0000)]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
drh [Fri, 3 Apr 2026 11:48:00 +0000 (11:48 +0000)]
Fix Tcl9 compatibility issues in test_session.c.
FossilOrigin-Name:
1387b5819085146cafb0e8740410faaa48bfb5aefc78ff763aaa8e85744d48b3
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
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
drh [Wed, 1 Apr 2026 16:56:48 +0000 (16:56 +0000)]
Always use sqlite3_malloc64() in extensions, where possible.
FossilOrigin-Name:
6194f3b5314ef98b5d73060450de8e3497272494b47e6f96992453418894ded1
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
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
stephan [Wed, 1 Apr 2026 11:39:13 +0000 (11:39 +0000)]
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
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
dan [Tue, 31 Mar 2026 10:52:00 +0000 (10:52 +0000)]
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
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
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
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
drh [Sun, 29 Mar 2026 22:41:12 +0000 (22:41 +0000)]
Fix harmless compiler warnings about unused variable assignments.
FossilOrigin-Name:
afe7e9fd1c476c7cdcefab0adf0191a8dc3283811f72a685fff3eb6539b72dcc
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
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
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
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
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
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
drh [Sat, 28 Mar 2026 13:59:34 +0000 (13:59 +0000)]
Reduce the compiled size of the quote() SQL function.
FossilOrigin-Name:
9ea980a35628f7d0741ab6c65840ab9dab8abb576c6c60109147336452f9637a
drh [Sat, 28 Mar 2026 13:30:47 +0000 (13:30 +0000)]
Turn an sqlite3VMPrintf() into an sqlite3DbStrDup().
FossilOrigin-Name:
75e8703664ae94244284819d9021877a5fc33a268fb86f3e70de20875a766d80
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
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
drh [Fri, 27 Mar 2026 18:58:50 +0000 (18:58 +0000)]
New test cases for text→float conversions.
FossilOrigin-Name:
bbf2d648376a965605d5c641a889ab7ef365bc53788d984c054468e9889deee6
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
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
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
drh [Fri, 27 Mar 2026 14:03:41 +0000 (14:03 +0000)]
Add the fp-speed-2.c performance test program.
FossilOrigin-Name:
b788256f1980531e7abb15c5fbcdd40ae166f091aea28f449c0407105ddf1aa4
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
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
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
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
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
drh [Thu, 26 Mar 2026 12:09:37 +0000 (12:09 +0000)]
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
drh [Wed, 25 Mar 2026 21:05:18 +0000 (21:05 +0000)]
Performance optimization when zero-padding in printf().
FossilOrigin-Name:
dbd81abdc6633124e72999321db6fc8640851fa5eb063e6317a4c3e57b48dbaa
drh [Wed, 25 Mar 2026 19:36:16 +0000 (19:36 +0000)]
Small size reduction and performance increase in sqlite3Atoi64().
FossilOrigin-Name:
c818165fd709b813ab07788662bf69205ece2dcea41346609b3439950f900057
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
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
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
drh [Tue, 24 Mar 2026 12:39:05 +0000 (12:39 +0000)]
Limit JSONB recursion depth in the json_patch() function.
FossilOrigin-Name:
f8659b700c0088abe19ce65fec032c1005a1f750566488f4578256d41558770c
drh [Tue, 24 Mar 2026 11:54:55 +0000 (11:54 +0000)]
Improved error messages for JSONB nested too deep.
FossilOrigin-Name:
82036fafa175e798fd32b3dc4ad043fc2bbe2bb2af17781f12dcb4d23a233865
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
drh [Tue, 24 Mar 2026 11:25:44 +0000 (11:25 +0000)]
Minor simplification to JSON path error reporting.
FossilOrigin-Name:
1cd30c4827e382861cf12af48579eedc9685b9612dedb6a2844f20355b910e7e
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
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
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
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
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
drh [Mon, 23 Mar 2026 10:58:29 +0000 (10:58 +0000)]
drh [Sun, 22 Mar 2026 20:52:23 +0000 (20:52 +0000)]
drh [Sun, 22 Mar 2026 18:26:43 +0000 (18:26 +0000)]
Performance enhancements and improved documentation for sqlite3AtoF().
FossilOrigin-Name:
62f011509600ab8cda28888ebd32e5faa4e865702755bc32dee7a12bf2f4425d
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
drh [Sun, 22 Mar 2026 02:51:18 +0000 (02:51 +0000)]
Further simplification and performance improvement
FossilOrigin-Name:
6c3dc2430adef061b458b6d9159628bb8debfd4d63876d5d5e7493afb799d97f
drh [Sun, 22 Mar 2026 02:26:38 +0000 (02:26 +0000)]
Performance improvements in the floating-point number parser.
FossilOrigin-Name:
aea648f3668219a2539160eb68c77ddd06aa8eac235c1326fe7b1547288b11ee
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
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
drh [Sat, 21 Mar 2026 13:05:54 +0000 (13:05 +0000)]
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
drh [Fri, 20 Mar 2026 20:35:21 +0000 (20:35 +0000)]
Fix harmless compiler warnings in the csv.c.
FossilOrigin-Name:
6ac701f89e2ac8dfd18d041eb8c36a0c2b9fedc5618d3a95be794aecce5c59cf
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
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
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
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
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
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
drh [Thu, 19 Mar 2026 13:40:40 +0000 (13:40 +0000)]
Use compiler intrinsics to improve the performance of
sqlite3Multiply160().
FossilOrigin-Name:
3c64f31392328f51e205fde52f19cf70c193e90897ccb7e93c685bad4f342cac
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
dan [Thu, 19 Mar 2026 10:39:24 +0000 (10:39 +0000)]
Reverse the if() condition added by this branch.
FossilOrigin-Name:
a9a0dd521c7c24b0c8b22abf2a131028f4dc9cd233678dc1f658da81a4a70e4b
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
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
drh [Wed, 18 Mar 2026 18:14:14 +0000 (18:14 +0000)]
Minor optimization to error message generation in integrity_check.
FossilOrigin-Name:
e0fa7c500052af9d36cb2d232131ef93361403187f4a60f53279b102c7a95860
drh [Wed, 18 Mar 2026 17:16:18 +0000 (17:16 +0000)]
Comment improvements. Ensure that tests in shellB.test that require
virtual tables do not run when compiling without virtual table support.
FossilOrigin-Name:
a270c6cc0eea8a8a2cf1ce30d724b2f12b11a1c343cd8520bd7843f4e62878f8
drh [Wed, 18 Mar 2026 15:51:15 +0000 (15:51 +0000)]
Improve the integrity-check error message when floating point index values
are off by one or two ULPs. Change the name of the eiib1.test test module
to expridx1.test.
FossilOrigin-Name:
4e996c183ea8d270b4448b471d4d032e13cef89f537674599d1e7c367cc2d0f8
dan [Wed, 18 Mar 2026 15:40:26 +0000 (15:40 +0000)]
Do not assume that a recursive CTE emits rows in ORDER BY order. Forum [forum:
deb1eadf4d677bd5 |
deb1eadf4d677bd5 ].
FossilOrigin-Name:
971aa34b3fd86ba30fe170886d9f83c17159b1638c4bd4fb6cdef79b1c9a88e2