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

11 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

11 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

12 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

12 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

12 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

12 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

12 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

13 days 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

13 days 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

13 days 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

13 days 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

13 days 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

13 days 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

13 days 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

13 days 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

2 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

2 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

2 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

2 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

3 weeks agoComment improvements. Ensure that tests in shellB.test that require
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

3 weeks agoImprove the integrity-check error message when floating point index values
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

3 weeks agoDo not assume that a recursive CTE emits rows in ORDER BY order. Forum [forum:deb1ead...
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

3 weeks agoTake care not to overread the record header when decoding the record
drh [Wed, 18 Mar 2026 14:47:20 +0000 (14:47 +0000)] 
Take care not to overread the record header when decoding the record
in vdbeIsMatchingIndexKey().

FossilOrigin-Name: 3a275b5848767b61011b9d1d3d1a62328a80906386375d1b1e13fd92b6983e05

3 weeks agoPad the allocation in vdbeIsMatchingKey() a little to avoid undefined behaviour if...
dan [Wed, 18 Mar 2026 14:01:21 +0000 (14:01 +0000)] 
Pad the allocation in vdbeIsMatchingKey() a little to avoid undefined behaviour if the record is corrupt and getVarint32() reads past the end of it.

FossilOrigin-Name: 9b0671a4f58098948d530f5e238b483a0e9f1309021aff0d6b5ea90e6c8f4e7b

3 weeks agoAdjust the fix at [f7389cdb129d3386] so that integrity_check output still
drh [Wed, 18 Mar 2026 13:49:06 +0000 (13:49 +0000)] 
Adjust the fix at [f7389cdb129d3386] so that integrity_check output still
appears prior to the SQLITE_CORRUPT return.

FossilOrigin-Name: efd9a7a6c862f778da9cd74e38f674e5d1094aa1c566ea3e68553e83f59502d3

3 weeks agoSimplification to the logic that decides whether or not an index
drh [Wed, 18 Mar 2026 12:36:01 +0000 (12:36 +0000)] 
Simplification to the logic that decides whether or not an index
field matches when floating point values are close but not exact.

FossilOrigin-Name: 3897017c0e871c676d44786a6f11205fd4b7a947d9d1359109037a123eda6b9b

3 weeks agoFix harmless signed/unsigned compiler warnings.
drh [Wed, 18 Mar 2026 11:15:57 +0000 (11:15 +0000)] 
Fix harmless signed/unsigned compiler warnings.

FossilOrigin-Name: aa211fa1d49b6734913e957f9e4b9825709a1493d275f7dfaf9123dc8c7232dc

3 weeks agoFix some cases where integrity-check would fail to identify real values in indexed...
dan [Wed, 18 Mar 2026 11:06:10 +0000 (11:06 +0000)] 
Fix some cases where integrity-check would fail to identify real values in indexed expressions that are with 2 ULPs of each other.

FossilOrigin-Name: 40c5966f7b784f181365c81fc559aee9463c374ee56677cf6e0aecaed39d2b28

3 weeks agoFix harmless "unused variable" compiler warning.
drh [Wed, 18 Mar 2026 11:04:15 +0000 (11:04 +0000)] 
Fix harmless "unused variable" compiler warning.

FossilOrigin-Name: 3380eb1ea71d6bf8325dbe49f4bac7623b3b6193f3b36dedd9411188cfc80b89

3 weeks agoModify integrity-check so that it is only tolerant of very small distortions of real...
dan [Tue, 17 Mar 2026 21:17:42 +0000 (21:17 +0000)] 
Modify integrity-check so that it is only tolerant of very small distortions of real values in indexed expression fields.

FossilOrigin-Name: 82e6de835bde306778425d18ab1a15ae80fdf01af7f577ead89c09f9d53b5b2f

3 weeks agoImproved error handling in OP_IFindKey and in vdbeIsMatchingIndexKey().
drh [Tue, 17 Mar 2026 18:55:24 +0000 (18:55 +0000)] 
Improved error handling in OP_IFindKey and in vdbeIsMatchingIndexKey().

FossilOrigin-Name: f7389cdb129d3386b7dfb8acacf84816cf10864c6800a9bd9a61c6364b850a31

3 weeks agoWhen integrity-check finds a missing index entry, search a small range (currently...
dan [Tue, 17 Mar 2026 17:05:45 +0000 (17:05 +0000)] 
When integrity-check finds a missing index entry, search a small range (currently 10) of entries around the missing key for an entry that matches all non-virtual and non-expression fields.

FossilOrigin-Name: 978cedcbd33165dadc7dffc118bde359eff6751ec9842230880cb827d9f7845f

3 weeks agoDo not run index healing on an invalid cursor.
drh [Tue, 17 Mar 2026 13:13:02 +0000 (13:13 +0000)] 
Do not run index healing on an invalid cursor.

FossilOrigin-Name: eb6403f02c113f58030c0b4143d91b6327ee21dcb324d3f235c2bf6bf3d6577c

3 weeks agoMerge recent trunk enhancements into the idxdelete-tolerance branch
drh [Tue, 17 Mar 2026 12:16:47 +0000 (12:16 +0000)] 
Merge recent trunk enhancements into the idxdelete-tolerance branch

FossilOrigin-Name: 9d84fdb7819a9850919e2c1977811bcf514b3baad29eb8cc9fc78451d500c8b6

3 weeks agoFix an assertion fault that could occur in RTree when given a corrupt
drh [Tue, 17 Mar 2026 12:07:49 +0000 (12:07 +0000)] 
Fix an assertion fault that could occur in RTree when given a corrupt
database.

FossilOrigin-Name: ed29fe973e6cbf291eff6fc582aeb34556ea4f8df105ec61b361e4cdda017e62

3 weeks agoFix display of P4_INDEX values in EXPLAIN output.
dan [Tue, 17 Mar 2026 11:26:57 +0000 (11:26 +0000)] 
Fix display of P4_INDEX values in EXPLAIN output.

FossilOrigin-Name: e717017f0213441da2ef8a9e1f1e88ebfdefa26fc4773711968417c0bd6ebe5f

3 weeks agoFix compiler warning an inefficiency introduced by previous commit.
dan [Tue, 17 Mar 2026 11:22:51 +0000 (11:22 +0000)] 
Fix compiler warning an inefficiency introduced by previous commit.

FossilOrigin-Name: 03058d73d3a88ab30e874b4231cc5b263b874a577f8bf5189a452d7376e25a47

3 weeks agoTypo fix in sqlite3Multiply128(): The datatype should be *unsigned*.
drh [Tue, 17 Mar 2026 11:19:16 +0000 (11:19 +0000)] 
Typo fix in sqlite3Multiply128():  The datatype should be *unsigned*.

FossilOrigin-Name: b459f6ff63325f71d4056dad2ebb536e0d414c973f3c6e167e8f67e94e6f0e2d

3 weeks agoChange the sqlite3VdbeFindDeleteKey() routine so that all index fields that are not...
dan [Tue, 17 Mar 2026 11:17:54 +0000 (11:17 +0000)] 
Change the sqlite3VdbeFindDeleteKey() routine so that all index fields that are not expressions or virtual columns must match the table for the delete to succeed.

FossilOrigin-Name: eccd9fcfa7e34ddcdeb671544c6afac7aa0d4665c5e1df7c8e53c41387ed0386

3 weeks agoFix a harmless compiler warning.
drh [Tue, 17 Mar 2026 10:19:11 +0000 (10:19 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: aa23d6cc69471eacb3fb0d789c34169e047e4a09a50beb430eb8e8e63b5bce78

3 weeks agoMerge trunk enhancements into the idxdelete-tolerance branch
drh [Tue, 17 Mar 2026 09:53:02 +0000 (09:53 +0000)] 
Merge trunk enhancements into the idxdelete-tolerance branch

FossilOrigin-Name: 5f5ab3eb3618b6a2799355df50bfdf94121161f7cadba6253963036d9f284f08

3 weeks agoEnhance text→float conversions for exact rounding in all cases.
drh [Tue, 17 Mar 2026 09:49:07 +0000 (09:49 +0000)] 
Enhance text→float conversions for exact rounding in all cases.

FossilOrigin-Name: 704ddfd0df57c2b137af88264df20a540e3f8f114a58ae5e31b40ab8259bb63e

3 weeks agoInclude the float-point table generator utility in the tools directory. fp-accuracy
drh [Tue, 17 Mar 2026 09:45:47 +0000 (09:45 +0000)] 
Include the float-point table generator utility in the tools directory.

FossilOrigin-Name: 4ab10b251d870af8297b9e505452393f6000f83784c822ff128e7aec06f8c72f

3 weeks agoReorder bounds checking in sqlite3Fp10Convert2()
drh [Tue, 17 Mar 2026 09:18:36 +0000 (09:18 +0000)] 
Reorder bounds checking in sqlite3Fp10Convert2()

FossilOrigin-Name: 23ad656edb3a63e7e6602770e1f2c4a5ef1f3d41565e7f13408b5305619dfa3d

3 weeks agoRemove a couple of unused variables.
dan [Mon, 16 Mar 2026 19:14:07 +0000 (19:14 +0000)] 
Remove a couple of unused variables.

FossilOrigin-Name: f66cb3dc275d3f31e57576466e697a6c7c5179144babab08d75b624e9846ecc3

3 weeks agoFurther tests for the code on this branch.
dan [Mon, 16 Mar 2026 16:44:14 +0000 (16:44 +0000)] 
Further tests for the code on this branch.

FossilOrigin-Name: f928a38091977268aa6a096104797158883ed89b9e026b4e4b98b9b5da967de1

3 weeks agoIf OP_IdxDelete cannot find an index entry to delete, first search 10 entries in...
dan [Mon, 16 Mar 2026 16:21:43 +0000 (16:21 +0000)] 
If OP_IdxDelete cannot find an index entry to delete, first search 10 entries in either direction of where the entry should be in the index. If that fails, search the entire index for an entry with matching PK fields.

FossilOrigin-Name: 2cb9f4e4178549144acd82e317a1646e71c9281ac9fc4aa26bf129f1068ded45

3 weeks agoFix a problem with the find-delete-key method on this branch.
dan [Mon, 16 Mar 2026 15:49:58 +0000 (15:49 +0000)] 
Fix a problem with the find-delete-key method on this branch.

FossilOrigin-Name: 6f49b5ecad5d924999d045a1ade93d95e731182be1781aefa5bc763b6202e9c3

3 weeks agoRework the ".indexes" command of the CLI. (1) The PATTERN now matches
drh [Mon, 16 Mar 2026 15:35:41 +0000 (15:35 +0000)] 
Rework the ".indexes" command of the CLI.  (1) The PATTERN now matches
the name of the index itself, not the name of the table containing
the index, thus making the pattern actually useful.  (2)  System-generated
indexes (for UNIQUE constraints and similar) are omitted unless
the -a|-all or --sys options are added.  (3) The --expr option causes
only expression indexes to be shown.

FossilOrigin-Name: 13e2cad810bfd59a9e18eb38bda1241715b76756ffec7d617e9ce99b89f19284

3 weeks agoMake OP_IdxDelete tolerant of small variations in index key values.
dan [Mon, 16 Mar 2026 15:16:13 +0000 (15:16 +0000)] 
Make OP_IdxDelete tolerant of small variations in index key values.

FossilOrigin-Name: c4b0081f08bd0458dbcf269b43a4051941eec8067393aa8e6810d4b8422ce44a

3 weeks agoProperly fix temp triggers created as part of FK processing to their schemas. Otherwi...
dan [Mon, 16 Mar 2026 11:14:26 +0000 (11:14 +0000)] 
Properly fix temp triggers created as part of FK processing to their schemas. Otherwise they may become confused by similarly named child tables in other attached databases. Fix for forum post [forum:636bd0180a | 636bd0180a].

FossilOrigin-Name: 80bc5bc07e221f837c28066f0a438f11c8ab6be4c8ba93615439eb1667967003

3 weeks agoImprove accuracy of text→floating-point conversions by moving
drh [Mon, 16 Mar 2026 09:40:12 +0000 (09:40 +0000)] 
Improve accuracy of text→floating-point conversions by moving
from 64-bit to 96-bit approximations to powers of ten.

FossilOrigin-Name: a19c0785dcfb9fb74963c45b161b12ac8f4379e2b990f6c5de0d7b959c5be98d

3 weeks agoAdd a missing return for the invalid arguments error case in sqlite3_test_control_fau...
stephan [Sat, 14 Mar 2026 16:30:13 +0000 (16:30 +0000)] 
Add a missing return for the invalid arguments error case in sqlite3_test_control_fault_install. No current scripts trigger this error.

FossilOrigin-Name: dc78d258745a1350685b37da56f0a2ac2e437b422415d634522dc61d340d06eb

3 weeks agoChanges some legacy testing targets in the makefiles into aliases for
drh [Fri, 13 Mar 2026 15:03:55 +0000 (15:03 +0000)] 
Changes some legacy testing targets in the makefiles into aliases for
"devtest" and "releasetest"

FossilOrigin-Name: 4c54f22f7abbf5403e554fbf3dd70ddee97352d7de1f7fe19f540bdf681f4e75

4 weeks agoUpdate the canonical JimTcl home page link (it was moved earlier today).
stephan [Thu, 12 Mar 2026 08:33:14 +0000 (08:33 +0000)] 
Update the canonical JimTcl home page link (it was moved earlier today).

FossilOrigin-Name: 568573f872733bf32c2fde6a3a43100bdac17fc762e5c9a6d7a47b988fdcea4e

4 weeks agoReplace several comment-based switch-fall-through notices with attribute based ones...
stephan [Wed, 11 Mar 2026 15:17:14 +0000 (15:17 +0000)] 
Replace several comment-based switch-fall-through notices with attribute based ones, as suggested in [forum:b6ab8dc547|forum post b6ab8dc547].

FossilOrigin-Name: 2b0209a3bd3fb19af424386dcd13ff49a0c86edfd5d283fd5e5c42c266872100

4 weeks agoImproved defenses against mischief.
drh [Wed, 11 Mar 2026 14:43:29 +0000 (14:43 +0000)] 
Improved defenses against mischief.

FossilOrigin-Name: 8bdc0d485e3ad0c7a1e818da66f106951d496b05cbe61d12c2c448f2f24b6d5d

4 weeks agoFix harmless compiler warnings.
drh [Tue, 10 Mar 2026 22:43:39 +0000 (22:43 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: d7b4a4a3d3d6296a012cc14fc2d95fe810b5bdb625209a2d28bf2c7a026749bf

4 weeks agoFix the behavior dot-commands that appear as command line arguments to the
drh [Tue, 10 Mar 2026 21:01:59 +0000 (21:01 +0000)] 
Fix the behavior dot-commands that appear as command line arguments to the
CLI so that their effect persists into subsequent commands on the command
line.  This fix also improves error messages caused by command line
arguments.
[forum:/forumpost/2026-03-10T19:26:06z|Forum post 2026-03-10T19:26:06z].

FossilOrigin-Name: ff084ae341eab5c4ce9403defee03adc448c05f77648a954f0942a38f640080b