drh
3aed7dc446
Make use of O_TMPFILE for more secure temporary file creation, when that
...
option is available.
FossilOrigin-Name: 094fc6da0768ea0ec4b4d3dc020cd6025aab341550d6cea6be7487ac570f9171
2026-04-09 14:12:09 +00:00
drh
a7200804eb
Fix a buffer overflow bug in a recent check-in, reported by unsolicted
...
email from OpenAI/Codex.
FossilOrigin-Name: be891a137af15897691250324e4d3d9c96f0c5fb414bca27d0c3bfdd3012a8a2
2026-04-08 17:00:33 +00:00
stephan
0d979c217f
Fix a few doc typos and inconsistencies. No code changes.
...
FossilOrigin-Name: 025abd4cf409fb9938e116289f23dc5bcd6d14feb46066221e691b146ee9b354
2026-04-07 15:54:35 +00:00
drh
e9af8caac0
Fix incorrect datatype on the auto_ext_leak_tester() function in the CLI.
...
FossilOrigin-Name: 4a36454904e1c5e7d25406713ab0125f11df66eabe0d378edcb837ef8dedc981
2026-04-07 12:51:52 +00:00
stephan
fcef193a82
Add a dummy auto-extension to the shell in SQLITE_DEBUG builds to validate that [9d56df17b4ab49] does the right thing.
...
FossilOrigin-Name: 164af3703b8fb5d88612edcceeaae0ae5a230c34c7a0f2ac9b650f5a742b2787
2026-04-06 22:00:20 +00:00
stephan
8e7ffc09f5
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
2026-04-06 20:24:02 +00:00
drh
9ad63c0f4e
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
2026-04-04 14:43:37 +00:00
drh
60b829e0db
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
2026-03-31 10:32:23 +00:00
drh
b060cecb2e
Remove an unused variable in sqlite3Reindex(). Minor enhancements to the
...
header comment on sqlite3AtoF().
FossilOrigin-Name: fbba900728d444f6a0b428197ebb41fe039b235e18caa2243c9f8f04fce42595
2026-03-30 10:00:48 +00:00
drh
0cb576f306
Fix harmless compiler warnings about unused variable assignments.
...
FossilOrigin-Name: afe7e9fd1c476c7cdcefab0adf0191a8dc3283811f72a685fff3eb6539b72dcc
2026-03-29 22:41:12 +00:00
drh
6d27844bbe
Merge trunk performance enhancements and fixes into the direct-printf branch.
...
FossilOrigin-Name: 9fa9cd11f8f5f7591168870c6e41121221b58a4a3094e708e3fa5bab1502f190
2026-03-29 19:23:47 +00:00
drh
03f13d77a5
Avoid using unsigned 64-bit integer division on platforms that do not support
...
it in hardware.
FossilOrigin-Name: 2197677491dfc5ec87b57bbf807776875248a250f80ce9a5ce94ae385bb1d2bc
2026-03-29 19:06:36 +00:00
drh
445fbc61c8
The _umulh() intrinsic function is not available on 32-bit windows. So don't
...
use it there.
FossilOrigin-Name: e75f30c7e66e725a2f3f46c7d4d69a2ff925e2de9a86c3a6ec38897545b43a58
2026-03-29 10:32:25 +00:00
drh
eb0cb3f53b
In sqlite3_str_vappendf(), write floating-point renderings directly into
...
the output buffer, saving a memcpy().
FossilOrigin-Name: e4e040e7aaaf5bfccbf0414fee3d08c5fdc24e03d1118dce92d2dd16c614ce63
2026-03-28 20:24:47 +00:00
drh
c409eaaf14
Reduce the compiled size of the quote() SQL function.
...
FossilOrigin-Name: 9ea980a35628f7d0741ab6c65840ab9dab8abb576c6c60109147336452f9637a
2026-03-28 13:59:34 +00:00
drh
2e01416762
Turn an sqlite3VMPrintf() into an sqlite3DbStrDup().
...
FossilOrigin-Name: 75e8703664ae94244284819d9021877a5fc33a268fb86f3e70de20875a766d80
2026-03-28 13:30:47 +00:00
drh
00c6eca32c
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
2026-03-27 16:09:10 +00:00
drh
1283969f26
Add a comment showing reserved file-control numbers to sqlite3.h
...
FossilOrigin-Name: cd472d7c85f3fda54bba5166eae72b5f9b86861c4a1160583e8ee902ba992255
2026-03-27 11:46:11 +00:00
drh
d4af925e34
Enhance the return value from sqlite3AtoF() so that it reports if the input
...
includes more than 19.25 significant digits.
FossilOrigin-Name: 1721c8da769816ca16104cd636299d84f682fc004938a50056b76b269e49e915
2026-03-26 18:19:47 +00:00
drh
61d3bc8ddc
Revamp the return code from sqlite3AtoF() for additional information and
...
for small speed improvement and size reduction.
FossilOrigin-Name: f10a431eade20ecd4c4d501fc534e2dae6ab2fe67302ea7bb3cd6eba127848fc
2026-03-26 16:33:03 +00:00
drh
f9a3b78561
Improvements to the sqlite3AtoF() interface. Add a test-control for
...
direct testing of sqlite3AtoF().
FossilOrigin-Name: 97ee48b6ef65fb55633196282c9e75b3b0a3b81ba9755f63493a38e3f1a5610c
2026-03-26 14:19:34 +00:00
drh
f855727e45
Back out the sqlite3_atof() API, for now.
...
FossilOrigin-Name: 7568d264be3988df195401158d8d07105b8e9e018eccf98ac948219bee9388ac
2026-03-26 12:09:37 +00:00
drh
3d58f022a8
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
2026-03-25 21:23:23 +00:00
drh
7e9eaf3c1f
Performance optimization when zero-padding in printf().
...
FossilOrigin-Name: dbd81abdc6633124e72999321db6fc8640851fa5eb063e6317a4c3e57b48dbaa
2026-03-25 21:05:18 +00:00
drh
0944b3efad
Small size reduction and performance increase in sqlite3Atoi64().
...
FossilOrigin-Name: c818165fd709b813ab07788662bf69205ece2dcea41346609b3439950f900057
2026-03-25 19:36:16 +00:00
drh
f3f194c385
Signification optimizations to layout of text for floating point
...
conversions in sqlite3_str_vappendf().
FossilOrigin-Name: 6a74df6d6ecfda8e0ff72ca0f4167190e989973ad124412892f7d36f1666ccfc
2026-03-25 17:59:22 +00:00
dan
183a73c352
Handle the case where the compile-time default page-size is greater than 8192 bytes.
...
FossilOrigin-Name: 3aea251f238277c68d7a80a4fa643bb0f80b274cef77ef32c4eb833cfaf46740
2026-03-25 11:19:38 +00:00
drh
53197b7940
Prevent overly long JSON paths from using too much stack space.
...
FossilOrigin-Name: 82a0794814bbc095235f8158a4129a5d83f6af1b0c27cb56449ea32feb44faf5
2026-03-24 19:26:05 +00:00
drh
f1f1784f4b
Limit JSONB recursion depth in the json_patch() function.
...
FossilOrigin-Name: f8659b700c0088abe19ce65fec032c1005a1f750566488f4578256d41558770c
2026-03-24 12:39:05 +00:00
drh
814f592cf0
Improved error messages for JSONB nested too deep.
...
FossilOrigin-Name: 82036fafa175e798fd32b3dc4ad043fc2bbe2bb2af17781f12dcb4d23a233865
2026-03-24 11:54:55 +00:00
stephan
9b805c6248
Remove a stale reference to the long-removed SQLITE_MUTEX_APPDEF, as pointed out in [forum:348453389b|forum post 348453389b].
...
FossilOrigin-Name: cb8e55b59113d0102c50db0a43b1b59d531cdcb12a7cce4c4c9a428c7c6e1adf
2026-03-24 11:33:22 +00:00
drh
3c2ccd2903
Minor simplification to JSON path error reporting.
...
FossilOrigin-Name: 1cd30c4827e382861cf12af48579eedc9685b9612dedb6a2844f20355b910e7e
2026-03-24 11:25:44 +00:00
drh
7bf4d708dc
Recognize artifical JSONB blobs with deep recursion as being ill-formed.
...
FossilOrigin-Name: adac4ed1f13a9a1c4a34c8f59438eac68867981748629ca3957055ad9f940299
2026-03-24 00:31:28 +00:00
drh
5239e821e8
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
2026-03-23 21:03:34 +00:00
drh
3e3c31ff0e
Use sqlite3_atof() instead of atof() in the CLI. Dogfooding.
...
FossilOrigin-Name: 276c350313a1ac2ebc70c1e8e50ed4baecd4be4d4c93ba04cf5e0078da18700e
2026-03-23 13:00:56 +00:00
drh
dc32016ee0
Move the definition of the new sqlite3_atof() function in sqlite3.h so
...
that it is adjacent to sqlite3_mprintf().
FossilOrigin-Name: 1553a60506fa29b5f00535ae0f7aeb8cc94ebe84015386b3248fd8491108fc60
2026-03-23 12:25:52 +00:00
drh
80b88b2482
Proposed new API routine: sqlite3_atof().
...
FossilOrigin-Name: db370f0f628895279a1c1db79ba7428cb4e31b56cafc191859c2f1a5a924435b
2026-03-22 20:52:23 +00:00
drh
dfd31e158c
Additional performance improvements in sqlite3AtoF(). Also update the
...
header comments.
FossilOrigin-Name: 8c3a1b450d6d5778004b9fb0e92b4f3f90d3e06ff87276370d01a45b7d607d23
2026-03-22 17:50:48 +00:00
drh
cc19c1dafd
Further simplification and performance improvement
...
FossilOrigin-Name: 6c3dc2430adef061b458b6d9159628bb8debfd4d63876d5d5e7493afb799d97f
2026-03-22 02:51:18 +00:00
drh
99571bf3c3
Performance improvements in the floating-point number parser.
...
FossilOrigin-Name: aea648f3668219a2539160eb68c77ddd06aa8eac235c1326fe7b1547288b11ee
2026-03-22 02:26:38 +00:00
drh
3c1f727603
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
2026-03-21 19:49:38 +00:00
drh
d9e70f2b90
Try to fix harmless compiler warnings from legacy C compilers in the CLI.
...
FossilOrigin-Name: 8e1d0c4eac303cd0834449f4792605c0ed983db1f360af42300f0048dadbbef8
2026-03-21 13:21:41 +00:00
drh
958b6a52e5
Undo "indices"→"indexes" changes in comments, to avoid diff clutter.
...
Fix a couple of unreachable branches.
FossilOrigin-Name: 0042ff9afd00eca0a837e9bbe57540ff2810fcd58b4f7e3f4e3b83aad5699757
2026-03-21 12:55:57 +00:00
drh
f163bfba4e
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
2026-03-20 19:30:58 +00:00
drh
b0a4b69b95
If there are not collating sequences, tables, or indexes named "EXPRESSIONS"
...
then the "REINDEX EXPRESSIONS" command rebuilds all expression indexes.
FossilOrigin-Name: df5c5aa26758e0dc00a9ccba29eac83071176d257e121207e0a13c54833b18c0
2026-03-20 14:37:39 +00:00
dan
bd580270a5
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
2026-03-20 11:35:15 +00:00
drh
de4ef2dc70
Ensure that sqlite3RCStr values returned by json_group_array() and
...
json_group_object() are zero-terminated.
FossilOrigin-Name: 88a931ea2ae734478928c2a6021b00b0f2be490328260630e176cf3cc7111472
2026-03-19 23:49:29 +00:00
drh
28cfb1e4a7
Restructure some internal subroutine signatures for improved
...
performance of affinity type conversions.
FossilOrigin-Name: 2bc6ce87b39c6ae324c3641c5af60e000df7d7c6d5fd2dd1a318c94cbb4aef84
2026-03-19 17:08:08 +00:00
drh
915a55444b
Use compiler intrinsics to improve the performance of
...
sqlite3Multiply160().
FossilOrigin-Name: 3c64f31392328f51e205fde52f19cf70c193e90897ccb7e93c685bad4f342cac
2026-03-19 13:40:40 +00:00
dan
58012b85b0
Do not assume that a recursive CTE emits rows in ORDER BY order. Fix for forum post [forum:deb1eadf4d677bd5 | deb1eadf4d677bd5].
...
FossilOrigin-Name: cadb6cdd32c3c9abd7e063f25acd39dddc9ff764a16019ffd5aa11063175326f
2026-03-19 10:51:40 +00:00