]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
6 weeks agoNew sqlite3_db_config(SQLITE_DBCONFIG_FP_DIGITS) that let's the application fp-performance-v2
drh [Sat, 21 Feb 2026 19:26:58 +0000 (19:26 +0000)] 
New sqlite3_db_config(SQLITE_DBCONFIG_FP_DIGITS) that let's the application
specify the number of significant digits that double→text conversions
will attempt to preserve.

FossilOrigin-Name: 3f16985dcc47a366b54164c5024f920a79dddd76faeac5e36b4770732ed72c0a

6 weeks agoNew test cases for floating-point conversions.
drh [Sat, 21 Feb 2026 13:57:40 +0000 (13:57 +0000)] 
New test cases for floating-point conversions.

FossilOrigin-Name: 3033fe97b14ba0531278d4aa444bc5340e044b87a72b3a4341032ddee442000f

6 weeks agoRemove an unreachable branch.
drh [Sat, 21 Feb 2026 13:40:07 +0000 (13:40 +0000)] 
Remove an unreachable branch.

FossilOrigin-Name: 93f90eacc0c5b2ae0042ec525359298883f8473e24967208feef4029d9fa2d08

6 weeks agoIncrease the precision of double → text conversions that happen in
drh [Sat, 21 Feb 2026 10:57:02 +0000 (10:57 +0000)] 
Increase the precision of double → text conversions that happen in
sqlite3_column_text(), or sqlite3_value_text(), or in the CAST() operator,
or similar, so that round-tripping the value back to double results in
exactly the same value.

FossilOrigin-Name: ef0049e3ade304f64e1ab97e52e1e21379e4db461f3fa80dac8e544fb90d622f

6 weeks agoFurther simplification, performance gain, and size reduction in
drh [Sat, 21 Feb 2026 00:56:11 +0000 (00:56 +0000)] 
Further simplification, performance gain, and size reduction in
sqlite3FpDecode().

FossilOrigin-Name: 5954f22ceb6b43ed160ec085cd86b66299d8aab3e349a41941a4f1c2eade7457

6 weeks agoSmall performance increase and size reduction in sqlite3FpDecode() by using
drh [Sat, 21 Feb 2026 00:20:29 +0000 (00:20 +0000)] 
Small performance increase and size reduction in sqlite3FpDecode() by using
local variables instead of structure elements.

FossilOrigin-Name: b4c378bba582205aa676e45b21ffa17ad6199e2a017ec73cf41a0243f693b589

7 weeks agoInconsequential changes to floating-point conversion, amounting to mere
drh [Fri, 20 Feb 2026 20:43:25 +0000 (20:43 +0000)] 
Inconsequential changes to floating-point conversion, amounting to mere
code cleanup to aid comprehension.

FossilOrigin-Name: 6d9c29123b6b143b0f7c8f5d018f170c72edfc5b1a4d67edd45e5552def2af6c

7 weeks agoIn the decimal extension, an optional second argument to the
drh [Fri, 20 Feb 2026 16:21:58 +0000 (16:21 +0000)] 
In the decimal extension, an optional second argument to the
decimal() and decimal_exp() functions rounds the value to the
number of significant digits specified by that argument.

FossilOrigin-Name: cb24edf1afc3f9083a4963c5fe232933eccc7c0cb8872aa5fcd336d226b885ef

7 weeks agoFix a cse in the fiddle.debug build where it could not overwrite its read-only/genera...
stephan [Fri, 20 Feb 2026 14:22:09 +0000 (14:22 +0000)] 
Fix a cse in the fiddle.debug build where it could not overwrite its read-only/generated index.html.

FossilOrigin-Name: 7adb2c0f438a97d377760436b1ac81fffab36e541a2b5ee733bfc7108e0180e5

7 weeks agoAdd new functions ieee754_to_int() and ieee754_from_int() to the
drh [Fri, 20 Feb 2026 14:20:33 +0000 (14:20 +0000)] 
Add new functions ieee754_to_int() and ieee754_from_int() to the
ieee754 extension.  No changes to the core SQLite.

FossilOrigin-Name: 8660d3e94cbe892693554df282bce0fa8c7aedbc5e020cab647cbbff3d7e55b7

7 weeks agoImproved rounding of floating-point conversions in some corner cases.
drh [Fri, 20 Feb 2026 12:27:52 +0000 (12:27 +0000)] 
Improved rounding of floating-point conversions in some corner cases.

FossilOrigin-Name: 436dccd42650a6ab0a74459ae42fdb3e36d853f934324acc2bc961f87c001852

7 weeks agoIn the CLI, the ".quit" command in a --cmd argument causes an immediate
drh [Thu, 19 Feb 2026 17:20:40 +0000 (17:20 +0000)] 
In the CLI, the ".quit" command in a --cmd argument causes an immediate
exit.  [forum:/forumpost/f057122b68|Forum post f057122b68].

FossilOrigin-Name: 4731cc8856aa4dcfad5db501648bfd0afef43d8c5f339e7b11a1e3ee64348b87

7 weeks agoImprovements to rounding behavior in the new floating-point conversion logic.
drh [Thu, 19 Feb 2026 12:59:42 +0000 (12:59 +0000)] 
Improvements to rounding behavior in the new floating-point conversion logic.

FossilOrigin-Name: e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18

7 weeks agoRestore the CLI function dtostr() back to its original purpose of converting
drh [Tue, 17 Feb 2026 20:28:25 +0000 (20:28 +0000)] 
Restore the CLI function dtostr() back to its original purpose of converting
floating point values to decimal using the host computer's C-library.

FossilOrigin-Name: f3cc05ba7fa9cb77573de5cd28ab90f10844567692ed57a706c5dc35b1348009

7 weeks agoMinor fixes to tmstmpvfs.c.
drh [Tue, 17 Feb 2026 14:28:18 +0000 (14:28 +0000)] 
Minor fixes to tmstmpvfs.c.

FossilOrigin-Name: 091bd90ed5a6a326fd532e93bd17903e052476da14dc6aee2599a9acf75a3276

7 weeks agoIncrease the number of floating-point precision test cases by 9x, and
drh [Tue, 17 Feb 2026 14:02:27 +0000 (14:02 +0000)] 
Increase the number of floating-point precision test cases by 9x, and
increase the require precision to 16 digits.

FossilOrigin-Name: 62c2cf74db5e47f975d1f47818f82f060ddecad4b68c4d4dbc6190cc9a8fc397

7 weeks agoFix a harmless compiler warning from MSVC.
drh [Tue, 17 Feb 2026 12:23:12 +0000 (12:23 +0000)] 
Fix a harmless compiler warning from MSVC.

FossilOrigin-Name: 12f3a6d0aaff8818c427d79e2b9394328625b3a60ccaa7b628d064084c65cfaf

7 weeks agoNew assert()s for the return value from sqlite3SchemaToIndex().
drh [Tue, 17 Feb 2026 11:28:48 +0000 (11:28 +0000)] 
New assert()s for the return value from sqlite3SchemaToIndex().

FossilOrigin-Name: 2610105a439e25c050b2deb32953861187c81b1d97407f41dc188e6627e0ac4d

7 weeks agoFurther simplifications, performance improvements, and size reductions
drh [Tue, 17 Feb 2026 01:04:23 +0000 (01:04 +0000)] 
Further simplifications, performance improvements, and size reductions
to the numeric to text conversion logic.

FossilOrigin-Name: dd5af703e1082951a4295a3453611db12b23cfbcfee4258ec3985abe96ab54ba

7 weeks agoFaster conversion of integers to text, by converting two digits at a time. numeric-conversion
drh [Tue, 17 Feb 2026 00:37:12 +0000 (00:37 +0000)] 
Faster conversion of integers to text, by converting two digits at a time.

FossilOrigin-Name: 90300e02f0de45b57d53976cae72928b3e56532d90b8b8cdc988e14762777930

7 weeks agoSimplifications to sqlite3AtoF(), resulting in slightly faster performance
drh [Mon, 16 Feb 2026 23:52:51 +0000 (23:52 +0000)] 
Simplifications to sqlite3AtoF(), resulting in slightly faster performance
and slightly smaller size.

FossilOrigin-Name: 6b9ab641763bc1620a01beec71589506b3b0827bff1c6cd98a5d17c6070050b3

7 weeks agoFix a bad assert() in the previous check-in. numeric-conversion-perf
drh [Mon, 16 Feb 2026 17:22:17 +0000 (17:22 +0000)] 
Fix a bad assert() in the previous check-in.

FossilOrigin-Name: a4540582b5b704af13b570b3dc609dbacada719302372a038cf74eee3688d5e7

7 weeks agoRefactor the sqlite3AtoF() routine so that it requires a zero-terminated
drh [Mon, 16 Feb 2026 16:56:59 +0000 (16:56 +0000)] 
Refactor the sqlite3AtoF() routine so that it requires a zero-terminated
UTF-8 input.  When the need arises to convert UTF16 or non-terminated
strings, wrapper functions are used.  Together, this makes the code slightly
smaller and faster.

FossilOrigin-Name: 67c7c72e9bdf04c920d77006538a202c923fa74b47c81dc3014c2929dac7277d

7 weeks agoFix another case where SQLite might fail to identify an ON clause on a RIGHT or FULL...
dan [Mon, 16 Feb 2026 16:56:25 +0000 (16:56 +0000)] 
Fix another case where SQLite might fail to identify an ON clause on a RIGHT or FULL join that refers to FROM-clause elements to its right.

FossilOrigin-Name: e956b36063e77b5ad0d8b8afb5dc942665f570d762929ff277e320c06ded8ce6

7 weeks agoFix a problem with identifying ON clauses attached to RIGHT or FULL JOINs (which...
dan [Mon, 16 Feb 2026 11:59:14 +0000 (11:59 +0000)] 
Fix a problem with identifying ON clauses attached to RIGHT or FULL JOINs (which is an error) if the join appeared in a flattened sub-query.

FossilOrigin-Name: cf2dc6dfad275dad8fef763a57baaaf6301b0d3bf1916be90f22200cbe0115d0

7 weeks agoPerformance improvement in floating-point conversions.
drh [Mon, 16 Feb 2026 11:14:59 +0000 (11:14 +0000)] 
Performance improvement in floating-point conversions.

FossilOrigin-Name: b5ebbd004183f81902fa79a143222204b33dbe1cacb918194556b8dac67bd567

7 weeks agoAvoid the big power-of-ten lookup table. fp-perf
drh [Sun, 15 Feb 2026 18:41:29 +0000 (18:41 +0000)] 
Avoid the big power-of-ten lookup table.

FossilOrigin-Name: 245ac7d9ec61e14fcef13a731e290fc5e8979efef6f4345f875eab9b882b0713

7 weeks agoFix to [9d3a12d3926d55ef] to force the static const string literal to
drh [Sat, 14 Feb 2026 22:04:53 +0000 (22:04 +0000)] 
Fix to [9d3a12d3926d55ef] to force the static const string literal to
have two-byte alignment.  Necessary to get that patch to work in Mac-ARM.

FossilOrigin-Name: a80c847169f307a4d2e524b6732ea557bf7f312f1a319d6c6c2e81adb0907596

7 weeks agoAdd the "LLU" suffix to 64-bit integer constants, for portability to older
drh [Sat, 14 Feb 2026 21:47:08 +0000 (21:47 +0000)] 
Add the "LLU" suffix to 64-bit integer constants, for portability to older
compilers.

FossilOrigin-Name: 4bf08110662c4b8db9ee90ce34271890a62a469166ea292f7f782b84236531d4

7 weeks agoFix to the generic version of the 128-bit multiple subroutine.
drh [Sat, 14 Feb 2026 21:31:31 +0000 (21:31 +0000)] 
Fix to the generic version of the 128-bit multiple subroutine.

FossilOrigin-Name: 9c3d09ee75beb26447161c0bf5ea252520a6ec051774f1a4e9f18204281d504f

7 weeks agoAnother minor performance refinement.
drh [Sat, 14 Feb 2026 20:48:58 +0000 (20:48 +0000)] 
Another minor performance refinement.

FossilOrigin-Name: 9d3a12d3926d55efffdc84bff342bd1dbccd08426104aeb2d339b064bf6f02f4

7 weeks agoMinor corrections.
drh [Sat, 14 Feb 2026 19:42:55 +0000 (19:42 +0000)] 
Minor corrections.

FossilOrigin-Name: 93fdee20021b8cc2a113ea042fedbccd8b53b6aceeeb34c0810e6d3a5f106f07

7 weeks agoImproved comment. No code changes.
drh [Sat, 14 Feb 2026 19:36:41 +0000 (19:36 +0000)] 
Improved comment.  No code changes.

FossilOrigin-Name: c5a4da1bf7af8f8ec4b3273f88b09c01ce90986c8a5ce3d03319bd094706c411

7 weeks agoUse a precomputed table of 696 powers of 10 to improve the performance
drh [Sat, 14 Feb 2026 17:58:46 +0000 (17:58 +0000)] 
Use a precomputed table of 696 powers of 10 to improve the performance
of floating-point to decimal and decimal to floating-point conversions.

FossilOrigin-Name: 64d9b7becf2da8927024adda278e837a46837e46af3cff51bd54a183d1716750

8 weeks agoAdd new assert() statements to demonstrate that the complaint given in
drh [Fri, 13 Feb 2026 16:02:27 +0000 (16:02 +0000)] 
Add new assert() statements to demonstrate that the complaint given in
[forum:/forumpost/56ad8b632c|forum post 56ad8b632c] is not a real bug.

FossilOrigin-Name: d62999907d5f5987fe0030e1a4a7144c898e55595ac116eec966741a5099322b

8 weeks agoUse only a single bit, rather than a whole byte, to store infrequently
drh [Fri, 13 Feb 2026 12:20:57 +0000 (12:20 +0000)] 
Use only a single bit, rather than a whole byte, to store infrequently
accessed boolean values in the Parse object.

FossilOrigin-Name: e1bcd7e1cf6d6b1add49deac65e1b64bcae52fbbad094e561846bb92959db76a

8 weeks agoAdd a "const" to avoid a harmless false-positive compiler warning.
drh [Fri, 13 Feb 2026 11:40:28 +0000 (11:40 +0000)] 
Add a "const" to avoid a harmless false-positive compiler warning.

FossilOrigin-Name: d44af6cc093ab6b5a196249a84681148bbae3f624abf4bc8cc42c88f3f7320b2

8 weeks agoRespect "const" strings in the sqlite3ShadowTableName() function.
drh [Thu, 12 Feb 2026 18:15:26 +0000 (18:15 +0000)] 
Respect "const" strings in the sqlite3ShadowTableName() function.
Patch moved to trunk, where it was intended.

FossilOrigin-Name: 51b5afdfac401cbf74af6383d4559439cb6defe2ce23ebcf7ed9a5b526a07b51

8 weeks agoMinor performance enhancement to floating-point rendering.
drh [Wed, 11 Feb 2026 19:42:46 +0000 (19:42 +0000)] 
Minor performance enhancement to floating-point rendering.

FossilOrigin-Name: 38d8c0d8a0b0e9990ba7bdcce979f2824ffee22a083cb788a75917628b1eb559

8 weeks agoCorrection to date/time computations associated with the timestamp-vfs.
drh [Tue, 10 Feb 2026 19:33:11 +0000 (19:33 +0000)] 
Correction to date/time computations associated with the timestamp-vfs.

FossilOrigin-Name: b67889e4f17c3280f839ee7045256cc47d6ce3ed60d880925e3d30f9ebbcf3ff

8 weeks agoMinor tweaks to the star-query optimization in the query planner.
drh [Tue, 10 Feb 2026 18:28:41 +0000 (18:28 +0000)] 
Minor tweaks to the star-query optimization in the query planner.

FossilOrigin-Name: 5021e114b251467fee6a39749c88ec581ee1f7d50093b02a44dc300db0c0a1c5

8 weeks agoImmediately reset all pending prepared statements on any call to
drh [Mon, 9 Feb 2026 19:58:04 +0000 (19:58 +0000)] 
Immediately reset all pending prepared statements on any call to
sqlite3_set_authorizer(), even if the authorizer is being disabled.

FossilOrigin-Name: 5c0468acd1a12f7fd01b9974250fb42c5811939dc2319729a1ef93c073dc0071

8 weeks agoDo not allow table-function argument expressions on the RHS of an OUTER join to refer...
dan [Mon, 9 Feb 2026 14:45:17 +0000 (14:45 +0000)] 
Do not allow table-function argument expressions on the RHS of an OUTER join to refer to FROM clause elements to their right.

FossilOrigin-Name: 021e48e28931afd781e76db6293e60fd2ffb8377cb1051e8b802f2743a10fa5d

2 months agoFix a method name typo in test-only code which could hide the triggering error condition.
stephan [Sun, 8 Feb 2026 12:13:19 +0000 (12:13 +0000)] 
Fix a method name typo in test-only code which could hide the triggering error condition.

FossilOrigin-Name: b2c1a4184c3de5a26524906ba04ce6c9c80b27f8d89c40fde7bbc8f5a9f99e34

2 months agoJS doc touchups.
stephan [Sun, 8 Feb 2026 05:08:30 +0000 (05:08 +0000)] 
JS doc touchups.

FossilOrigin-Name: dcd22fd6d135892852358c8cfb5049dce4a1410dbc0f28cafc8b340f69350165

2 months agoImproved output from calls to sqlite3ShowSrcList() made from a symbolic debugger.
drh [Sat, 7 Feb 2026 13:41:05 +0000 (13:41 +0000)] 
Improved output from calls to sqlite3ShowSrcList() made from a symbolic debugger.

FossilOrigin-Name: 241d23f8d36a0d4d0bcf058c5c1ff6144cfe7dd33460e8d94de5f0daf56aaf50

2 months agoDo a better job of not generating unnecessary Bloom filters associated
drh [Thu, 5 Feb 2026 21:14:34 +0000 (21:14 +0000)] 
Do a better job of not generating unnecessary Bloom filters associated
with IN operators.

FossilOrigin-Name: 3861df5c127f82becea80c48c547de8ed0d01eebcf6a6a9d7f234dde31f50394

2 months agoFix harmless compiler warning when the CLI is compiled with
drh [Thu, 5 Feb 2026 13:03:04 +0000 (13:03 +0000)] 
Fix harmless compiler warning when the CLI is compiled with
SQLITE_OMIT_PROGRESS_CALLBACK.

FossilOrigin-Name: d6150c813ce43e15285a07d24135b10a7c254b3c175dee4f61c3b6a6ce91c29f

2 months agoDisplay scanstatus results in neat columns.
drh [Wed, 4 Feb 2026 20:51:27 +0000 (20:51 +0000)] 
Display scanstatus results in neat columns.

FossilOrigin-Name: c476d956d0bd3065cf894de6f9d393b999ff7d2268a35f01a6d88804789ab58f

2 months agoImproved output for ".scanstatus est" in the CLI.
drh [Wed, 4 Feb 2026 18:10:49 +0000 (18:10 +0000)] 
Improved output for ".scanstatus est" in the CLI.

FossilOrigin-Name: e6902937ecdbeb449986469859b46631272fb0a9e7e1c31adea14cff072b6d67

2 months agoImproved display of scan-status estimates. scanstatus-improvements
drh [Wed, 4 Feb 2026 17:52:50 +0000 (17:52 +0000)] 
Improved display of scan-status estimates.

FossilOrigin-Name: 70ef095740c62081090147bb1900c843cb31864e93a8af518ff48855f1175717

2 months agoRender scan-status values with 3 or 4 significant digits only, for
drh [Wed, 4 Feb 2026 13:35:32 +0000 (13:35 +0000)] 
Render scan-status values with 3 or 4 significant digits only, for
improved readability.

FossilOrigin-Name: d9102ff0c43a496e782b0a3ec86ba7cd45f8118a07f15a4f3d58b399466d6cf2

2 months agoFix scanstatus output in QRF so that it shows the total number of cycles
drh [Wed, 4 Feb 2026 11:51:20 +0000 (11:51 +0000)] 
Fix scanstatus output in QRF so that it shows the total number of cycles
on the "QUERY PLAN" line.

FossilOrigin-Name: 611cef0ec281ae06eac97df8048d617fd445c348c2fc1673202b9cc081a365db

2 months agoImprove the query planner by reducing the estimated number of output rows
drh [Tue, 3 Feb 2026 17:21:59 +0000 (17:21 +0000)] 
Improve the query planner by reducing the estimated number of output rows
for each stage of a join if there are LIKE, GLOB, REGEXP, or MATCH
constraints on the table where the pattern string is a constant.  The
reduction in the output row estimate is proportional to the length of
the pattern string.

FossilOrigin-Name: 6852843e6aa23051de0884593ce64b96a16f16c4d63b222bd324297581f7cf75

2 months agoMinor change to test/dotcmd01.test so that it works with STAT4.
drh [Tue, 3 Feb 2026 17:07:28 +0000 (17:07 +0000)] 
Minor change to test/dotcmd01.test so that it works with STAT4.

FossilOrigin-Name: 8aaf5b6b6c3d71789eebd2b8f440dd2fdaad2ef2adc9c7b2b019f08853d0b195

2 months agoImproved comments on this enhancement. No code changes. prune-by-like-glob
drh [Tue, 3 Feb 2026 16:29:14 +0000 (16:29 +0000)] 
Improved comments on this enhancement.  No code changes.

FossilOrigin-Name: 510a6738e5d186a74a45fa7385f4722f4e090d85562f259b02c49393ca56860b

2 months agoRefactor the implementation of this enhancement to keep all the code inside
drh [Tue, 3 Feb 2026 14:00:28 +0000 (14:00 +0000)] 
Refactor the implementation of this enhancement to keep all the code inside
the query planner, not leaking out into SQL function implementations.
Expand the enhancement to cover MATCH and REGEXP operators and overloads
of LIKE and GLOB.

FossilOrigin-Name: 96f8ce225ee863c6dfe0df2d10da27a35407128d7c4691ddb927401465047a6e

2 months agoWhen reducing the truth probability of a LIKE/GLOB constraint, only consider
drh [Mon, 2 Feb 2026 20:54:28 +0000 (20:54 +0000)] 
When reducing the truth probability of a LIKE/GLOB constraint, only consider
non-wildcard characters in the pattern.

FossilOrigin-Name: 2ba8fc290dbc80d159a217d745d8bd62371c305443d5aed10bfcf34cc98d3985

2 months agoDo not reduce the estimated truth probability of LIKE and GLOB operators
drh [Mon, 2 Feb 2026 16:03:24 +0000 (16:03 +0000)] 
Do not reduce the estimated truth probability of LIKE and GLOB operators
by quite so much.  Fix a single test case whose output changed.

FossilOrigin-Name: fdebbedbd9a99165359761106cdc76d327f74043b22806b7bd96402fbed36f14

2 months agoMerge the latest trunk enhancements into the prune-by-like-glob branch.
drh [Mon, 2 Feb 2026 14:24:47 +0000 (14:24 +0000)] 
Merge the latest trunk enhancements into the prune-by-like-glob branch.

FossilOrigin-Name: d9d3d3a807710957f35b023ddc89cb80eea529f654ce3aa0f9aafe6c15b3ce88

2 months agoUpdate session module test code to correctly use Tcl_Size instead of int.
dan [Mon, 2 Feb 2026 11:42:19 +0000 (11:42 +0000)] 
Update session module test code to correctly use Tcl_Size instead of int.

FossilOrigin-Name: 619060c2267a889089bf5328ba83640806688164a096df8582a5cf91b173741d

2 months agoAdd the "--timeout SECONDS" option to the ".progress" command in the CLI.
drh [Sun, 1 Feb 2026 21:10:04 +0000 (21:10 +0000)] 
Add the "--timeout SECONDS" option to the ".progress" command in the CLI.

FossilOrigin-Name: 8eb5c88aeb37279f68f5bb0b268339a8f6fb0b927b1e398ac4c83bf42c281273

2 months agoEnhance the ".timer" command in the CLI to accept the "once" argument, and
drh [Sun, 1 Feb 2026 15:58:37 +0000 (15:58 +0000)] 
Enhance the ".timer" command in the CLI to accept the "once" argument, and
so that it leaves its last real-time result in the $TIMER variable.  Also
fix a harmless warning from an earlier check-in.

FossilOrigin-Name: 8ad7dffc261cbb3f7c9b4d38b04282c805c1c047fb431076f85e577c81f21574

2 months agoAn experimental query-planner change that reduces the estimated number
drh [Sun, 1 Feb 2026 00:37:04 +0000 (00:37 +0000)] 
An experimental query-planner change that reduces the estimated number
of output rows for FROM clause terms that are restricted by a LIKE or
GLOB operator, based on the number of bytes in the pattern.  The idea is
that longer patterns will match fewer records and hence should reduce the
estimated output count.  The implementation is not workable as it stands
now.  This is just a crazy idea, saved for future reference.

FossilOrigin-Name: 97bcb56a208af0687750a6438981bbfe36a8d516d996178e62551d302ef811ee

2 months agoFix a missed optimization opportunity due to a typo in check-in [898bfa1afd8260ea].
drh [Sat, 31 Jan 2026 02:17:55 +0000 (02:17 +0000)] 
Fix a missed optimization opportunity due to a typo in check-in [898bfa1afd8260ea].
Reported by [forum:/forumpost/2026-01-31T00:49:53z|forum post 2026-01-31T00:49:53z].

FossilOrigin-Name: 3a4f9a323da90611d7eda51b90cb058175ddde0a128e1ff00ce58cc83af0f376

2 months agoMake CROSS JOIN a join reorder barrier again, as the SQLite documentation says it...
drh [Fri, 30 Jan 2026 17:10:22 +0000 (17:10 +0000)] 
Make CROSS JOIN a join reorder barrier again, as the SQLite documentation says it is.  It
mistakenly stopped being a join barrier with check-in [c1ea064948ba08c4].

FossilOrigin-Name: d294106ecb78d765305ab740007f4a678e28baa13ae403fe57ea9cbfc259620f

2 months agoFix the new CLI so that the ".eqp" setting does not affect the output of other dot
drh [Fri, 30 Jan 2026 16:03:22 +0000 (16:03 +0000)] 
Fix the new CLI so that the ".eqp" setting does not affect the output of other dot
commands such as .schema or .tables.

FossilOrigin-Name: a5a1b69b3feedb507ecfe2e9ddc039d7c01e1bb54e3e881df5010481886cdef9

2 months agoChange the new escape-character mechanism for CSV import so that there are
drh [Fri, 30 Jan 2026 13:11:20 +0000 (13:11 +0000)] 
Change the new escape-character mechanism for CSV import so that there are
separate options for an escape character for quoted and unquoted fields of
the CSV.

FossilOrigin-Name: 293ec20e29e46d822a98302f8a0ba52ad6f74a7e93f780536d393730c2edbf61

2 months agoUndo the previous check-in. In its place, add the --escape option to
drh [Fri, 30 Jan 2026 12:27:13 +0000 (12:27 +0000)] 
Undo the previous check-in.  In its place, add the --escape option to
the ".import" command.

FossilOrigin-Name: f11a05d52a1eb933f394d48c0d4ee0353f07ad725b7378c40afd01632e67f72d

2 months agoEnhance the CSV import capability in the CLI so that it understands
drh [Fri, 30 Jan 2026 12:15:25 +0000 (12:15 +0000)] 
Enhance the CSV import capability in the CLI so that it understands
backslash-escaped double-quotes.

FossilOrigin-Name: 7ba0594d3c24531bc014dd029093b0503118a29cfdd13af2a2ebdd456855ce94

2 months agokvvfs fix for [https://github.com/sqlite/sqlite-wasm/issues/146|npm ticket #146]...
stephan [Fri, 30 Jan 2026 06:37:34 +0000 (06:37 +0000)] 
kvvfs fix for [https://github.com/sqlite/sqlite-wasm/issues/146|npm ticket #146]: use of a test-mode-only symbol in non-test runs leads to a null deref in xFileControl().

FossilOrigin-Name: 407724c4e80efdf93d885e95b5209a100a3f470fe0298138be57201f65f9817e

2 months agoCapture sqlite3_rsync's remote-end result code so the local side can exit with non...
stephan [Wed, 28 Jan 2026 17:25:18 +0000 (17:25 +0000)] 
Capture sqlite3_rsync's remote-end result code so the local side can exit with non-0 if, e.g., the remote sqlite3_rsync binary is found but fails to start. [forum:43eb1cd1c3979817|Confirmation received] that it resolves the motivating problem report.

FossilOrigin-Name: 971d51374e3bf0d0e0b106750dc1e499d1fdbd3233cf8264a534138b27f8d0a1

2 months agoImproved (faster) bytecode for the merge algorithm.
drh [Wed, 28 Jan 2026 16:59:34 +0000 (16:59 +0000)] 
Improved (faster) bytecode for the merge algorithm.

FossilOrigin-Name: 0b7f4b97e68f17ae2fec86017cdb170f3b318a71cda34b5c82ec2d9df780564f

2 months agoAdd a comment to sqlite3Stat4Value() explaining that it read a few bytes past the...
dan [Wed, 28 Jan 2026 10:52:53 +0000 (10:52 +0000)] 
Add a comment to sqlite3Stat4Value() explaining that it read a few bytes past the end of the specified buffer.

FossilOrigin-Name: b95644eafdd42293096a3760af8b2110f3c7d83feecdeff5ff9f008d9748e874

2 months agoAvoid unsigned integer overflow when evaluating an array index in a
drh [Tue, 27 Jan 2026 23:33:42 +0000 (23:33 +0000)] 
Avoid unsigned integer overflow when evaluating an array index in a
JSON path expression.
[forum:/forumpost/2026-01-27T14:18:49z|Forum post 2026-01-27T14:18:49z].

FossilOrigin-Name: 631c8d44cd1624ddc45babd3f0d810908c2a368784744262042c63506ff2e333

2 months agoImproved byte-code coverage testing verification in the merge algorithm.
drh [Tue, 27 Jan 2026 22:27:14 +0000 (22:27 +0000)] 
Improved byte-code coverage testing verification in the merge algorithm.

FossilOrigin-Name: e49ec0e24b4765a6a819f3e980b680b9604f6db21aa8112ec4e9b54d82220c00

2 months agoThe tmstmpvfs.c extension should not modify the content of pages going into
drh [Tue, 27 Jan 2026 16:18:35 +0000 (16:18 +0000)] 
The tmstmpvfs.c extension should not modify the content of pages going into
the WAL file, as that would corrupt the page checksum used for recovery.
Instead, only insert timestamp information as content is written into the
database file.

FossilOrigin-Name: dabaeeb1dab82eaea2449658b9c4c74af0058e5a64a076dab046902c6efac292

2 months agoTeach sqlite3_rsync to increment its error count when a child process fails, based... rsync-child-rc
stephan [Tue, 27 Jan 2026 16:15:22 +0000 (16:15 +0000)] 
Teach sqlite3_rsync to increment its error count when a child process fails, based on [forum:8fe404e547faa42e|forum post 8fe404e547faa42e]. This passes basic sanity tests but requires more testing and needs a review of the final 'else' block in the new code.

FossilOrigin-Name: 8be55d405f4ce424760150a2b59b5f663041fdcb377d1b9893b4f4e8e1940246

2 months agoFor CSV import in the CLI, when the table is created automatically
drh [Tue, 27 Jan 2026 14:59:08 +0000 (14:59 +0000)] 
For CSV import in the CLI, when the table is created automatically
because it does not previously exist, make the column types "ANY"
instead of "TEXT" so that they will automatically adjust to different
datatypes in the input text.

FossilOrigin-Name: aff74e71ea734e1ad8fa893652885fd8c6c432fb60e92913a799e6df5e980b47

2 months agoAdd the --csv option to the showtmlog utility program.
drh [Tue, 27 Jan 2026 14:27:19 +0000 (14:27 +0000)] 
Add the --csv option to the showtmlog utility program.

FossilOrigin-Name: 2e96e8efa9a331b0f7d928c55e7d85be64e7c60c85032c1e972f77fe790bdec4

2 months agoFix trivial buffer overreads in the sessions module that could occur when parsing...
dan [Tue, 27 Jan 2026 14:00:59 +0000 (14:00 +0000)] 
Fix trivial buffer overreads in the sessions module that could occur when parsing changeset blobs.

FossilOrigin-Name: 661878a62870023f7f54e8c591a0823dc457cb89780ab40c1891fb3d5e8f095f

2 months agoAdditional usage notes added to the header comment of the tmstmpvfs.c
drh [Tue, 27 Jan 2026 12:50:52 +0000 (12:50 +0000)] 
Additional usage notes added to the header comment of the tmstmpvfs.c
source file.  No code changes.

FossilOrigin-Name: d1b8e7740bee13a8cf199c6477ee20a4f8bcbbd9ec4096bcdc05a996fadf0d56

2 months agoEnhanced documentation in the header comment of tmstmpvfs.c.
drh [Tue, 27 Jan 2026 12:02:02 +0000 (12:02 +0000)] 
Enhanced documentation in the header comment of tmstmpvfs.c.

FossilOrigin-Name: 3d37da3cb5943a61f528e3002c4c3ac3d41e871d742d8e603bffcc4bc5bd42fd

2 months agoFix frame number computation in the log generated by tmstmpvfs.c.
drh [Tue, 27 Jan 2026 11:19:49 +0000 (11:19 +0000)] 
Fix frame number computation in the log generated by tmstmpvfs.c.

FossilOrigin-Name: 57fda9dd85f0de8c5d4a4d8015e67982d73ab96ad6f1cd590a48d8995dc28140

2 months agoEnhancements to tmstmpvfs.c: (1) Use the exact same timestamp on logfile
drh [Mon, 26 Jan 2026 21:20:28 +0000 (21:20 +0000)] 
Enhancements to tmstmpvfs.c:  (1) Use the exact same timestamp on logfile
entries as on the pages that control, where appropriate.  (2) Include the
WAL frame number in ELOG_CKPT_PAGE logfile entries.

FossilOrigin-Name: fcf16297850abf5186b0d414b4f31d4b515925ef5cca5e7d7d84984c26160d00

2 months agoAdd test for fts3 compress= and uncompress= options.
dan [Mon, 26 Jan 2026 20:17:10 +0000 (20:17 +0000)] 
Add test for fts3 compress= and uncompress= options.

FossilOrigin-Name: bace9de67db426017d98f31685da1fc6ab10c7755681a41ca978cc97cb2ad5df

2 months agoImprove the comments on the generated byte-code for the merge algorithm.
drh [Mon, 26 Jan 2026 19:37:57 +0000 (19:37 +0000)] 
Improve the comments on the generated byte-code for the merge algorithm.

FossilOrigin-Name: 4468c9e1a262d3d7efd8edff19e22e13b64ebed606ce2f18c9cabce93ef257d3

2 months agoFix the initialization of the sqlite3Api[] constant to conform
drh [Mon, 26 Jan 2026 13:54:05 +0000 (13:54 +0000)] 
Fix the initialization of the sqlite3Api[] constant to conform
with the previous check-in.

FossilOrigin-Name: 0a31a740843404958f61798aa17f94b5162bcf467c1c863d745346a316160d13

2 months agoAdd alternative sqlite3_carray_bind_v2() interface.
drh [Mon, 26 Jan 2026 13:44:42 +0000 (13:44 +0000)] 
Add alternative sqlite3_carray_bind_v2() interface.

FossilOrigin-Name: 925384d7711867428644595c0903682e6e365eb974c57e6680b51d511c980054

2 months agoFix speedtest1.wasm build regression introduced with Emscripten 5.0.0.
stephan [Mon, 26 Jan 2026 10:53:24 +0000 (10:53 +0000)] 
Fix speedtest1.wasm build regression introduced with Emscripten 5.0.0.

FossilOrigin-Name: 4733d351ec2376291f093ba8d2ba71d82c6f100c68dc860eee0532986c154e71

2 months agoFix a possible problem following OOM in a WITH statement.
drh [Mon, 26 Jan 2026 00:11:01 +0000 (00:11 +0000)] 
Fix a possible problem following OOM in a WITH statement.

FossilOrigin-Name: c38797d400dc4135108a6e303f2c10779ba9adf0daae28f1789f9106a68d21d5

2 months agoAlways use the sort-and-merge algorithm for EXCEPT, INTERSECT, and UNION,
drh [Sun, 25 Jan 2026 23:28:42 +0000 (23:28 +0000)] 
Always use the sort-and-merge algorithm for EXCEPT, INTERSECT, and UNION,
even if there is no ORDER BY clause.

FossilOrigin-Name: 132ba781b031972c6ac564ff0d1d6b2dfaeee77fe503ad6e9e8647bb5ba28bd3

2 months agoThe Select.addrOpenEphm field is no longer needed. Remove it and union-by-merge
drh [Sun, 25 Jan 2026 20:15:00 +0000 (20:15 +0000)] 
The Select.addrOpenEphm field is no longer needed.  Remove it and
simplify related code.

FossilOrigin-Name: 1fe5a1ca72892987716b71b9419265f25c8c426e52320acf56724fd64b838be6

2 months agoRefactor one function name. Comment improvements. No functional changes.
drh [Sun, 25 Jan 2026 18:21:53 +0000 (18:21 +0000)] 
Refactor one function name.  Comment improvements.  No functional changes.

FossilOrigin-Name: 5b4c0a5e8609e16a4b08b7f95d55e513ee4300b22d044ac8f42e60b96cff5be6

2 months agoFix the jsonb_group_array() and jsonb_group_object() functions so that they return
drh [Sun, 25 Jan 2026 15:18:31 +0000 (15:18 +0000)] 
Fix the jsonb_group_array() and jsonb_group_object() functions so that they return
JSONB as they should, and not text JSON, when the array or object is empty.
[forum:/forumpost/2026-01-25T00:47:06z|Forum post 2026-01-25T00:47:06z].

FossilOrigin-Name: 8b53b97833afe27c0c3782c5fbc0437976215b571579f73a94c33e28d3fedb41

2 months agoAdditional simplifications to achieve 100% MC/DC.
drh [Sun, 25 Jan 2026 13:26:19 +0000 (13:26 +0000)] 
Additional simplifications to achieve 100% MC/DC.

FossilOrigin-Name: 781b7ec0bcaa5d94e8c5fd31b4fe0203393d5209a5f518848f057ec3d2b8d7ac

2 months agoFix harmless compiler warnings in FTS5.
drh [Sun, 25 Jan 2026 11:56:25 +0000 (11:56 +0000)] 
Fix harmless compiler warnings in FTS5.

FossilOrigin-Name: 29d9132a768e0460e22e41abb8b6188181ba0fc6c4665161d3d0af28d7583e19

2 months agoRemove additional unnecessary code associated with the setup phase of a recursive...
drh [Sun, 25 Jan 2026 11:41:49 +0000 (11:41 +0000)] 
Remove additional unnecessary code associated with the setup phase of a recursive CTE.

FossilOrigin-Name: 82735513762c8adfe7ad4865dcb76c625cbd8f6976bb98f2c342cf98cfdf3b36

2 months agoAssert() statements added to sqlite3_result_text64() and
drh [Sat, 24 Jan 2026 17:18:56 +0000 (17:18 +0000)] 
Assert() statements added to sqlite3_result_text64() and
sqlite3_bind_text64() to detect misuse of SQLITE_UTF8_ZT that can
result in undefined behavior.

FossilOrigin-Name: e761fcc6838aee1fa5e098ad167866845a8ee140a3346fb089a1238abb58d998

2 months agoExpound upon the meaning of SQLITE_UTF8_ZT, in an attempt to head off
drh [Sat, 24 Jan 2026 12:19:00 +0000 (12:19 +0000)] 
Expound upon the meaning of SQLITE_UTF8_ZT, in an attempt to head off
confusion.

FossilOrigin-Name: 9a74d0c3e78eef9a32775f445ecb3fae76e2f3886b9173a16971d7c7506967fe