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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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