]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
34 hours agoRemove a stray C++ style comment left in build.c by the previous commit on this branch. attach-backup-fix
dan [Wed, 24 Jun 2026 13:37:31 +0000 (13:37 +0000)] 
Remove a stray C++ style comment left in build.c by the previous commit on this branch.

FossilOrigin-Name: bfce01a4b06b5f3bfb050bf15e25919a6c85b3ec0002acd016ac8c5ffa500daf

35 hours agoRevert the fixes to backup in [1f940357f7] and [e5db80350c] and instead fix the probl...
dan [Wed, 24 Jun 2026 11:50:08 +0000 (11:50 +0000)] 
Revert the fixes to backup in [1f940357f7] and [e5db80350c] and instead fix the problem reported by forum post [forum:15d82885e2 | 15d82885e2] (that a call to sqlite3_deserialize() after sqlite3_backup_init() but before the first call to sqlite3_backup_step() on the destination db of a backup could cause a crash) by deferring caching the pointer to the destination Btree until after it is locked. This addresses bug [bugs:/info/2026-06-24T08:41:13Z | 2026-06-24T08:41:13Z].

FossilOrigin-Name: 44a0f396daa13f382fd839cd8be49148aa24114968b97fed7f365307d1f8280a

37 hours agoSwap two lines to get the amalgamation building again with SQLITE_OMIT_FLOATING_POINT...
stephan [Wed, 24 Jun 2026 10:22:36 +0000 (10:22 +0000)] 
Swap two lines to get the amalgamation building again with SQLITE_OMIT_FLOATING_POINT, noting that neither the shell nor the canonical library build with that flag. Reported in [forum:8c3df4da0d|forum post 2026-06-24T07:21:05Z].

FossilOrigin-Name: 23936786e680131af644510eb50b7ad20ee39221d1fb29732dea76483aed2273

2 days agoMerge the fixes for the use-after-free problem caused by executing an ATTACH when...
dan [Tue, 23 Jun 2026 20:12:17 +0000 (20:12 +0000)] 
Merge the fixes for the use-after-free problem caused by executing an ATTACH when a backup operation was active, and for the OOB read in the unused spellfix1 extension.

FossilOrigin-Name: e458ed9cc9d46dfdade3b4e99eb209d8aefd40a245e002d68df1813f9f99e2d7

2 days agoFix sqlite3_backup_init() to correctly handle the case where opening the temp databas...
dan [Tue, 23 Jun 2026 19:46:48 +0000 (19:46 +0000)] 
Fix sqlite3_backup_init() to correctly handle the case where opening the temp database fails.

FossilOrigin-Name: c08bb97f399447be767ca2932858d88db5c1ba6ba29a68b1def23957206f9883

2 days agoFix an OOB read on the unused spellfix1 extension. The OOB read is
drh [Tue, 23 Jun 2026 19:28:14 +0000 (19:28 +0000)] 
Fix an OOB read on the unused spellfix1 extension.  The OOB read is
one byte prior to the start of an allocation, which is almost always
harmless.  [bugs:/info/2026-06-23T18:48:40Z|Bug 2026-06-23T18:48:40Z].

FossilOrigin-Name: e58d5efc7b3387566661475e1a9afb6b94388a835cfb178999603135d57280fa

2 days agoAvoid a use-after-free problem that could occur if ATTACH statements are executed...
dan [Tue, 23 Jun 2026 19:14:44 +0000 (19:14 +0000)] 
Avoid a use-after-free problem that could occur if ATTACH statements are executed while a backup operation is active. Bug [bugs:/info/2026-06-23T15:46:48Z | 2026-06-23T15:46:48Z].

FossilOrigin-Name: 9454592878b5732d37d61f4541bd6f0c1f893c20fc833ce4c600f9470e62d6f2

2 days agoDo not allow internal-use-only functions to be coded, anywhere, unless
drh [Tue, 23 Jun 2026 19:08:18 +0000 (19:08 +0000)] 
Do not allow internal-use-only functions to be coded, anywhere, unless
inside of a nested parse (which is the case for ALTER TABLE) or if
the appropriate test-control is activated.
[bugs:/info/2026-06-23T15:49:27Z|Bug 2026-06-23T15:49:27Z].

FossilOrigin-Name: a145307e4d0b621c5493cecc7c826e8422cbd8dbc8cd9a042b8ec9e05d389eb6

2 days agoFix a typo in a comment. No code changes.
drh [Tue, 23 Jun 2026 15:35:29 +0000 (15:35 +0000)] 
Fix a typo in a comment.  No code changes.

FossilOrigin-Name: 8a535a36a90cf12b783469289a882d1313038d444b4a7f04e3495ae9bdec416d

2 days agoMakefile doc tweaks. No functional changes.
stephan [Tue, 23 Jun 2026 14:11:16 +0000 (14:11 +0000)] 
Makefile doc tweaks. No functional changes.

FossilOrigin-Name: d85204bbd92f362c5c7d744d59f7be6923cdbf1f15f7220e70af4090161c24c2

2 days agoImprove robustness against corrupt kvvfs journal files. Addresses bug report [bugs...
stephan [Tue, 23 Jun 2026 13:26:35 +0000 (13:26 +0000)] 
Improve robustness against corrupt kvvfs journal files. Addresses bug report [bugs:f4d88886e6|2026-06-23T06:51:34Z] and the first follow-up report in that thread.

FossilOrigin-Name: bd24ea4d76c8d6816ac5177593ee3427b71b0508b5cdc804c29b2ed25405b9c8

2 days agoFix a NULL pointer dereference that could occur in the unionvtab virtual table if...
dan [Tue, 23 Jun 2026 11:14:45 +0000 (11:14 +0000)] 
Fix a NULL pointer dereference that could occur in the unionvtab virtual table if the configuration SQL returned an SQL NULL value in place of a table name. Bug [bugs:/info/2026-06-23T05:32:49Z | 2026-06-23T05:32:49Z].

FossilOrigin-Name: 3a2163f9693086bc494ac899647f09467b1aba905f4db147910f203aaab724f0

2 days agoFix a NULL pointer dereference that can occur when misusing a extension
drh [Tue, 23 Jun 2026 11:09:55 +0000 (11:09 +0000)] 
Fix a NULL pointer dereference that can occur when misusing a extension
virtual table that was created for testing purposes.
[bugs:/info/2026-06-23T05:32:49Z|Bug 2026-06-23T05:32:49Z]

FossilOrigin-Name: 256d5cd478b83b1371ce24c9702f732cddb4dd4e06c238fc1a1b853b02ffc1f1

2 days agoFix an OOB read in the next_char() function of the
drh [Tue, 23 Jun 2026 10:51:24 +0000 (10:51 +0000)] 
Fix an OOB read in the next_char() function of the
"spellfix" extension.  The spellfix extension is not a deliverable.
[bugs:/info/2026-06-23T05:41:00Z|Bug 2026-06-23T05:41:00Z]

FossilOrigin-Name: 6ede22e13f8e85c1a341c9a80a3be2f2677baee897c659af4ca43a04698e29a5

2 days agoFix dequoting error on the instantiation parameters of the
drh [Tue, 23 Jun 2026 10:23:08 +0000 (10:23 +0000)] 
Fix dequoting error on the instantiation parameters of the
non-deliverable extension virtual table "fuzzer.
[bugs:/info/2026-06-23T05:51:36Z|Bug 2026-06-23T05:51:36Z].

FossilOrigin-Name: 410045796b4486fc2d301e661bf9fce3ca3a1ba61c72fe5d6c5d59a330443dd5

2 days agoFix rounding behavior for all-9s decimals in the decimal extension.
drh [Tue, 23 Jun 2026 10:07:50 +0000 (10:07 +0000)] 
Fix rounding behavior for all-9s decimals in the decimal extension.
[bugs:/info/2026-06-23T05:07:48Z|Bug 2026-06-23T05:07:48Z]

FossilOrigin-Name: 21b2692c8363f2c0629beef4860400a1d27f499a3f27745c23391bcfa09da898

3 days agoAdd the BTREE_HINT_TABLECURSOR cursor-hint. This is not currently used by stock SQLite.
dan [Mon, 22 Jun 2026 11:02:28 +0000 (11:02 +0000)] 
Add the BTREE_HINT_TABLECURSOR cursor-hint. This is not currently used by stock SQLite.

FossilOrigin-Name: 35b3ff4007fc1abd36233a6b3b75bb6a123edc062f36437247c3dfe779868b70

4 days agoCorrect test from [96a48a15760a] - that journal was indeed corrupt, but not in the...
stephan [Sun, 21 Jun 2026 11:38:05 +0000 (11:38 +0000)] 
Correct test from [96a48a15760a] - that journal was indeed corrupt, but not in the intended manner. Add a verification that the bad journal gets replaced after a write.

FossilOrigin-Name: c9171221160f241b450d425f41bb53b42362dccfad4c3fdf64dd5c3562ed4096

4 days agoExtend the test from the previous check-in a bit.
stephan [Sun, 21 Jun 2026 11:10:17 +0000 (11:10 +0000)] 
Extend the test from the previous check-in a bit.

FossilOrigin-Name: bd6bbd0e84226c90d864c28ac4d6acd908c4f06bfe63dcfd6fa6b8d17105b338

4 days agoAdd a JS test demonstrating that [7c4db1cd2d06] recovers gracefully from journal...
stephan [Sun, 21 Jun 2026 10:55:09 +0000 (10:55 +0000)] 
Add a JS test demonstrating that [7c4db1cd2d06] recovers gracefully from journal corruption.

FossilOrigin-Name: 96a48a15760a2eee2642926874e9dfd4082518c6669f930fcc367ffd16669f39

4 days agoFix a result value semantics bug which broke application of a journal in kvvfs. Fix...
stephan [Sun, 21 Jun 2026 08:38:07 +0000 (08:38 +0000)] 
Fix a result value semantics bug which broke application of a journal in kvvfs. Fix a memory-reset bug in hypothetical non-WASM builds of kvvfs. Bug report [bugs:7fcd3ea30fa4fcfc|2026-06-20T18:22:59Z], and this resolves the journaling issue mentioned in the parent post.

FossilOrigin-Name: 7c4db1cd2d06d9dc6c4b5eed5c4fc0fc5466128a169a5d4ba261e0cb17020ae1

4 days agoFix a potential integer overflow when decoding a corrupt kvvfs block. Bug report...
stephan [Sun, 21 Jun 2026 08:13:22 +0000 (08:13 +0000)] 
Fix a potential integer overflow when decoding a corrupt kvvfs block. Bug report [bugs:76acc88b57|2026-06-20T18:35:54Z].

FossilOrigin-Name: c36fc5df62c7eb8fca6a43cb0b3154a030b39a4cfade8fb04496120d4d339b97

5 days agoFix an incorrect assert() in check-in [984c9b181801c1de]
drh [Sat, 20 Jun 2026 21:54:18 +0000 (21:54 +0000)] 
Fix an incorrect assert() in check-in [984c9b181801c1de]

FossilOrigin-Name: 1d41c93b3636de63cc4b9ee49f73319429944f2255ab56d7556595f56434c17c

5 days agoCorrect misuse of a loop control variable in writing of a kvvfs journal. Bug report...
stephan [Sat, 20 Jun 2026 11:07:04 +0000 (11:07 +0000)] 
Correct misuse of a loop control variable in writing of a kvvfs journal. Bug report [bugs:20e208fe17|2026-06-20T08:49:41Z]. Remove a snippet of dead code in the JS kvvfs side.

FossilOrigin-Name: a396d7c54c5f251daaaac1e68321c2a54d3b6969599027c29b7ca7abe7fb8c4e

5 days agoAdd the sqlite3_result_str() interface and use it to simplify the code.
drh [Fri, 19 Jun 2026 23:53:29 +0000 (23:53 +0000)] 
Add the sqlite3_result_str() interface and use it to simplify the code.

FossilOrigin-Name: 8f8361edf82233d6cd53bf8cd2f7fbf0cb3552228c9202395ef1e3383ed559ff

6 days agoUse SQLITE_FINISH in a few places in the core, to help ensure that path is sqlite3-result-str
drh [Fri, 19 Jun 2026 22:57:44 +0000 (22:57 +0000)] 
Use SQLITE_FINISH in a few places in the core, to help ensure that path is
well tested.

FossilOrigin-Name: 7356bf3a813bcd9082a7fdef5e2cc38c7a0f142f0ef4c948f78e4dafa216c039

6 days agoPut the sqlite3OomStr singleton in "const" space to ensure that it is
drh [Fri, 19 Jun 2026 22:17:09 +0000 (22:17 +0000)] 
Put the sqlite3OomStr singleton in "const" space to ensure that it is
never modified.  Doing so identified a long-standing bug.

FossilOrigin-Name: 2fe53e6d68c3f9f1c4b064fa40fe8efe12025179a973182f0bb256acb9b5d58d

6 days agoAdditional changes based on Claude analysis.
drh [Fri, 19 Jun 2026 21:43:04 +0000 (21:43 +0000)] 
Additional changes based on Claude analysis.

FossilOrigin-Name: d4691a0db1e96b646d3094f183b1fc330411a2d2472b09f9b5fe0fb268b5ca09

6 days agoFurther refinements and uses for sqlite3_result_str().
drh [Fri, 19 Jun 2026 20:01:47 +0000 (20:01 +0000)] 
Further refinements and uses for sqlite3_result_str().

FossilOrigin-Name: 974253a6058a7120354261b2134ed4803373031996957c7334161370b80bf428

6 days agoPrototype implementation for a new sqlite3_result_str() API.
drh [Fri, 19 Jun 2026 17:03:21 +0000 (17:03 +0000)] 
Prototype implementation for a new sqlite3_result_str() API.

FossilOrigin-Name: cdbc62c36a37ad687589917c6f1e92ded6d99959c54eb8d79eaaef6fa57dacd3

6 days agoFix the format() SQL function so that it returns an empty string not a
drh [Fri, 19 Jun 2026 16:55:08 +0000 (16:55 +0000)] 
Fix the format() SQL function so that it returns an empty string not a
NULL if the first argument is an empty string.
[bugs:/info/2026-06-19T16:40:04Z|Bug 2026-06-19T16:40:04Z]

FossilOrigin-Name: ece7af98a8bf982567b489cf82a52519f46a1c9360c82a486dbe1cd0664b1555

6 days agoFix a cast in fts3_write so that it is applied as intended. Bug [bugs:/info/2026...
dan [Fri, 19 Jun 2026 11:46:05 +0000 (11:46 +0000)] 
Fix a cast in fts3_write so that it is applied as intended. Bug [bugs:/info/2026-06-19T07:56:23Z | 2026-06-19T07:56:23Z].

FossilOrigin-Name: d6a3272e5592bcfeecf8a06dd8330cce57ff6603b24994b533d1fdcd48b5dc66

6 days agoFix an fts5 problem causing attempts to create locale=1 tables with more than 115...
dan [Fri, 19 Jun 2026 11:14:16 +0000 (11:14 +0000)] 
Fix an fts5 problem causing attempts to create locale=1 tables with more than 115 columns to fail. Bug [bugs:/info/2026-06-19T05:19:08Z | 2026-06-19T05:19:08Z].

FossilOrigin-Name: 979229f720e63d0294be14dae3f9fad68f76e4126a0ad63e32573cdfecd0151e

7 days agoFix a memory size computation error on 32-bit platforms caused by
drh [Thu, 18 Jun 2026 17:09:20 +0000 (17:09 +0000)] 
Fix a memory size computation error on 32-bit platforms caused by
check-in [9a2a230464e43140].

FossilOrigin-Name: dc4763b14c421710f2a19c19c1cac455c1d0244b27303b6f328c778ac188bb02

8 days agoSmall parsing performance improvement by reducing the amount of the
drh [Wed, 17 Jun 2026 20:11:26 +0000 (20:11 +0000)] 
Small parsing performance improvement by reducing the amount of the
Parse object that needs to be initialized.

FossilOrigin-Name: 0901b7c2dfb87707fa159f24ada5abb0a2914043c6f0571de4ce55c80edb663b

8 days agoRemove the unnecessary Parse.szOpAlloc field, for small size reduction
drh [Wed, 17 Jun 2026 19:28:17 +0000 (19:28 +0000)] 
Remove the unnecessary Parse.szOpAlloc field, for small size reduction
and performance improvement.

FossilOrigin-Name: 9a2a230464e4314033e67e602dbd9f554f50ec2eefc7b1a5f05b85249591f7b8

8 days agoSmall performance boost in the sqlite3VdbeResolveLabel() routine of the
drh [Wed, 17 Jun 2026 18:39:05 +0000 (18:39 +0000)] 
Small performance boost in the sqlite3VdbeResolveLabel() routine of the
code generator.

FossilOrigin-Name: f786f3643e410e862568777ea021afa47c924348e511a83e7e9000cf14bec534

8 days agoSafer conversion from double to 64-bit integer in two places.
drh [Wed, 17 Jun 2026 16:57:19 +0000 (16:57 +0000)] 
Safer conversion from double to 64-bit integer in two places.

FossilOrigin-Name: 17c444382979b70cdca78e51418366e802b2d41d1156774e5e9693b52542b84c

8 days agoAdditional refinements to the large floating-point handling in
drh [Wed, 17 Jun 2026 14:53:14 +0000 (14:53 +0000)] 
Additional refinements to the large floating-point handling in
generate_series().  Follow-up to [5aab8c2cde63f9db].

FossilOrigin-Name: 4247c5d9afb162a3e9f334b5121f0df2bfddb916054fa1e6fadb65b1983a7ed8

8 days agoFix CLI CSV test cases so that they suppress the CR on windows and thus
drh [Wed, 17 Jun 2026 13:52:55 +0000 (13:52 +0000)] 
Fix CLI CSV test cases so that they suppress the CR on windows and thus
work cross-platform.

FossilOrigin-Name: 7a2c96405e365dd2efb3593e0973536d1f87f7183d5442f3bc98ca23310e5530

8 days agoFix the OR-to-IN optimization so that it works in cases where there are
drh [Wed, 17 Jun 2026 13:31:01 +0000 (13:31 +0000)] 
Fix the OR-to-IN optimization so that it works in cases where there are
conflicting collation sequences on the equality constraints within the OR.
[bugs:/info/2026-06-17T05:04:48Z|Bug 2026-06-17T05:04:48Z].

FossilOrigin-Name: 984c9b181801c1de06782335eb049f32d1dc1d5739a7fb9c94630c22159a4f8c

8 days agoTypo fix in a comment used to generate documentation. No changes to code.
drh [Tue, 16 Jun 2026 23:59:58 +0000 (23:59 +0000)] 
Typo fix in a comment used to generate documentation.  No changes to code.
[forum:/info/2026-06-16T23:18:50Z|Forum 2026-06-16T23:18:50Z].

FossilOrigin-Name: 7386faef618acb006086d688fcea854a7c555ac1bcfcaa294ea86e964e4ce75f

9 days agoAfter opening a non-covering index cursor, pass the corresponding table cursor to... cursor-hint-tblcsr
dan [Tue, 16 Jun 2026 18:06:46 +0000 (18:06 +0000)] 
After opening a non-covering index cursor, pass the corresponding table cursor to the implementation via sqlite3BtreeCursorHint().

FossilOrigin-Name: d48c6d2dcd50128f35bba8931371e708d24b63f2ea7a5988af8864d18ef5d14e

9 days agoLimit VIEW recursion depth to SQLITE_LIMIT_EXPR_DEPTH to prevent
drh [Tue, 16 Jun 2026 13:43:08 +0000 (13:43 +0000)] 
Limit VIEW recursion depth to SQLITE_LIMIT_EXPR_DEPTH to prevent
static overflow in malicious schemas with tens of thousands of
levels of recursive views.
[bugs:/info/2026-06-16T04:21:51Z|Bug 2026-06-16T04:21:51Z]

FossilOrigin-Name: 3f3fb9b638f59ad982beafb7c117f24ddd3da612e62c862510805fa672ffae06

9 days agoFix instances of potential buffer overflow caused by loading the contents of a stat4...
dan [Tue, 16 Jun 2026 11:53:19 +0000 (11:53 +0000)] 
Fix instances of potential buffer overflow caused by loading the contents of a stat4 table with an absurd number of samples in a 32-bit build. Bug [bugs:/info/2026-06-16T11:30:52Z | 2026-06-16T11:30:52Z].

FossilOrigin-Name: 0b72246732fecd7909add28f2d95f1727e1c4dc6c8f3b8e6e3482f6d17c92d34

9 days agoFix a possible call to memcpy() with a NULL source pointer when the size
drh [Tue, 16 Jun 2026 09:53:23 +0000 (09:53 +0000)] 
Fix a possible call to memcpy() with a NULL source pointer when the size
parameter is zero (which is technically undefined behavior but in practice
is completely harmless) in the sha1_query() extension function.
[bugs:/info/2026-06-16T07:42:23Z|Bug 2026-06-16T07:42:23Z].

FossilOrigin-Name: 2063926473adaf9619ca10fd47b273ef59b1f77136836d575e5db3cfd68987da

10 days agoConsistent error messages for excess trigger nesting.
drh [Mon, 15 Jun 2026 17:39:46 +0000 (17:39 +0000)] 
Consistent error messages for excess trigger nesting.

FossilOrigin-Name: 4fb9f2ffb4b45d81c70f561f45cf29a0d5872a612b948882c4a2a14629bcbe28

10 days agoSpeed up SQL aggregate functions percentile() and median() by using quickselect to...
dan [Mon, 15 Jun 2026 17:27:05 +0000 (17:27 +0000)] 
Speed up SQL aggregate functions percentile() and median() by using quickselect to find the required values instead of fully sorting the array of values with quicksort.

FossilOrigin-Name: 0796d337f6a0ef02a460a24eadda20e33e8fb9ec64b696ae1addee69c1bfddeb

10 days agoNew Windows makefile targets for common EXEs that omit the ".exe" suffix, so
drh [Mon, 15 Jun 2026 17:14:12 +0000 (17:14 +0000)] 
New Windows makefile targets for common EXEs that omit the ".exe" suffix, so
that when muscle memory kicks in and we type "make sqlite3" on windows, it
still works.

FossilOrigin-Name: 1152463a66b47eed27b71e87533e8361b6077dc54ff55b8cd2ccde5cfa8199bd

10 days agoImprove comments in percentSort(). pecentile-partial-sort
dan [Mon, 15 Jun 2026 17:13:40 +0000 (17:13 +0000)] 
Improve comments in percentSort().

FossilOrigin-Name: 9b43500f51ae7b43f0e2cc805bb8c93907eddbd8caf21ee5b5a3d2e795962088

10 days agoEnhance SQLITE_LIMIT_TRIGGER_DEPTH so that it also limits a chain of
drh [Mon, 15 Jun 2026 16:45:35 +0000 (16:45 +0000)] 
Enhance SQLITE_LIMIT_TRIGGER_DEPTH so that it also limits a chain of
distinct triggers during code generation.
[bugs:/info/2026-06-15T06:44:07Z|Bug 2026-06-15T06:44:07Z].

FossilOrigin-Name: 0b5378678e3d095ef982bb3b5d5ad05dfb15ce4ee12170b8d0a83fa4b75404c0

10 days agoChange the PACKAGE_BUGREPORT config option point to /bugs instead of /forum.
stephan [Mon, 15 Jun 2026 15:48:40 +0000 (15:48 +0000)] 
Change the PACKAGE_BUGREPORT config option point to /bugs instead of /forum.

FossilOrigin-Name: ca15fedede9873b5f72f29f7cd33cba294cd49593999fc952670e2d5ce7ec86e

10 days agoFix a problem sometimes causing an UPSERT to incorrectly convert an excluded.* column...
dan [Mon, 15 Jun 2026 15:38:16 +0000 (15:38 +0000)] 
Fix a problem sometimes causing an UPSERT to incorrectly convert an excluded.* column from type REAL to INT in cases where doing so does not cause data loss. Bug [bugs:/info/2026-06-15T09:08:12Z | 2026-06-15T09:08:12Z].

FossilOrigin-Name: 71334f7ec95edc91138b51ef6fe455a4a8c1db130484237eb241956bc549aa5c

10 days agoImprovements to handling of inequality constraints on generate_series().value
drh [Mon, 15 Jun 2026 15:27:26 +0000 (15:27 +0000)] 
Improvements to handling of inequality constraints on generate_series().value
against very large floating-point values.
[bugs:/info/2026-06-15T04:37:48Z|Bug 2026-06-15T04:37:48Z].

FossilOrigin-Name: 5aab8c2cde63f9db6b2346c86512efd6297937cad4e1306759b0f448815ad2e0

10 days agoAdditional tweaks and test cases for generate_series() constraints series-boundry-cases
drh [Mon, 15 Jun 2026 15:24:37 +0000 (15:24 +0000)] 
Additional tweaks and test cases for generate_series() constraints
using very large floating-point numbers.

FossilOrigin-Name: 50d611404a444f23368c684dfa6dc34b057f8adb45aa058bcf3b2768e908eb3e

10 days agoBetter behavior for generate_series() in cases where constraints involve
drh [Mon, 15 Jun 2026 14:16:13 +0000 (14:16 +0000)] 
Better behavior for generate_series() in cases where constraints involve
floating point number that are near the minimum and maximum 64-bit integer
values.

FossilOrigin-Name: 236ef21789c4ebb67a8cf0a841341fab1477a6fe8e88b575e9f450a8f868e618

10 days agoAvoid a possible buffer overrun in 32-bit builds of fts5 that could occur when proces...
dan [Mon, 15 Jun 2026 13:39:20 +0000 (13:39 +0000)] 
Avoid a possible buffer overrun in 32-bit builds of fts5 that could occur when processing corrupt records. Bug [bugs:/info/2026-06-14T12:21:15Z | 2026-06-14T12:21:15Z].

FossilOrigin-Name: 0fa3345fe4464804f6846c2598774b9e700df39570e81e020de21e06e2ff044d

10 days agoRevert the native impl of kvvfs's xOpen() (as distinct from the JS impl which the...
stephan [Mon, 15 Jun 2026 12:36:24 +0000 (12:36 +0000)] 
Revert the native impl of kvvfs's xOpen() (as distinct from the JS impl which the wasm build uses) to the historical db name restrictions of 'local' or 'session', failing with SQLITE_CANTOPEN if passed another name. [ec866b04d088e53b] overhauled support for kvvfs db names in JS but it turns out that the native impl still relies on those names in order to match journals to databases. Correct a related too-lenient assert() in the WASM pieces.

FossilOrigin-Name: 4b3ec30c63e3824163a2e6cacceb9630301b61f3ffd2b80f8a7b234f09bc251b

10 days agoFix a problem that could cause fts5 to return incorrect answers when performing prefi...
dan [Mon, 15 Jun 2026 11:47:52 +0000 (11:47 +0000)] 
Fix a problem that could cause fts5 to return incorrect answers when performing prefix queries on tokens with synonyms. Bug [bugs:/info/2026-06-14T11:11:06Z | 2026-06-14T11:11:06Z].

FossilOrigin-Name: 323d87541a63f0b2c64271c78ad6ebd5d04220da59aebfdfbc07caa691af816a

10 days agoRegardless of whether the platform is 32 or 64-bits, Use 64-bit arithmetic to calcula...
dan [Mon, 15 Jun 2026 11:03:13 +0000 (11:03 +0000)] 
Regardless of whether the platform is 32 or 64-bits, Use 64-bit arithmetic to calculate buffer sizes in the fts3_snippet(). Bug [bugs:/info/2026-06-14T09:19:52Z | 2026-06-14T09:19:52Z].

FossilOrigin-Name: 79dc1949b2171c46f6649743ed7dbbf6b83046901ec18ffcbc37a2a47544b100

10 days agoFix rounding behavior in the decimal extension when all leading digits
drh [Mon, 15 Jun 2026 10:13:31 +0000 (10:13 +0000)] 
Fix rounding behavior in the decimal extension when all leading digits
are 9 and there is not fractional component.
[bugs:/info/2026-06-15T03:49:42Z|Bug 2026-06-15T03:49:42Z].

FossilOrigin-Name: c6a3b18ee9eb4b8dda57fab94aea9c61aed5e1ffe600f0bcf2c90ca752f2512b

10 days agoPrevent array overflow when decoding a corrupted value from the
drh [Mon, 15 Jun 2026 01:24:06 +0000 (01:24 +0000)] 
Prevent array overflow when decoding a corrupted value from the
underlying key/value store.
[bugs:/info/2026-06-14T21:58:12Z|Bug 2026-06-14T21:58:12Z]

FossilOrigin-Name: 732c8f81b5a914831c36610ddaed3da15a7f9fdbf54f44872e181b941368d702

11 days agoRemove the unused, untested, experiemental "blobio.c" extension, to
drh [Sun, 14 Jun 2026 22:01:56 +0000 (22:01 +0000)] 
Remove the unused, untested, experiemental "blobio.c" extension, to
avoid confusing AIs.
[bugs:/info/2026-06-14T15:12:50Z|Bug 2026-06-14T15:12:50Z]

FossilOrigin-Name: 45918d5e97a0c29c6fa03d09ac8e131dcca3bf4268bf4f5c46c221b1f900651a

11 days agoDo not allow ridiculous "columns=N" values in the (unused) csv virtual
drh [Sun, 14 Jun 2026 20:10:28 +0000 (20:10 +0000)] 
Do not allow ridiculous "columns=N" values in the (unused) csv virtual
table in the extensions folder.
[bugs:/info/2026-06-14T15:22:47Z|Bug 2026-06-14T15:22:47Z]

FossilOrigin-Name: ecae4a2ddf103fe575c6864d201e83a9bb084b511685397db41b3349c91b38e6

12 days agoSpeed up SQL aggregate functions percentile() and median() by avoiding a full sort...
dan [Sat, 13 Jun 2026 20:16:54 +0000 (20:16 +0000)] 
Speed up SQL aggregate functions percentile() and median() by avoiding a full sort of the array of arguments.

FossilOrigin-Name: 9232b5f21d76dc702ccda5c689d61bcd0057fb1f2a4db6a70c607c25ad03a027

12 days agoMake the --header option to the CLI sticky, so that it does not get
drh [Sat, 13 Jun 2026 18:04:18 +0000 (18:04 +0000)] 
Make the --header option to the CLI sticky, so that it does not get
turned off by subsequence --csv or similar mode change options.
[bugs:/info/2026-06-13T11:49:18Z|Bug 2026-06-13T11:49:18Z]

FossilOrigin-Name: b19cef1862444ee694eeea2254aa9a8d74d2343da5a8257c22e3068f388aa2fd

13 days agoWhen reading a super-journal name from a journal file, allocate a new buffer rather...
dan [Fri, 12 Jun 2026 18:35:24 +0000 (18:35 +0000)] 
When reading a super-journal name from a journal file, allocate a new buffer rather than using Pager.pTmpSpace. This prevents a buffer overrun that could occur when using a VFS with a large sqlite3_vfs.mxPathname value with a database with a small page size.

FossilOrigin-Name: 7f71859841af7cb0806f58e9c8013a990fcca72b807a0513156d7127ce5c7b62

13 days agoFix errors in comments on this branch. Also prefer SQLITE_NOMEM_BKPT to SQLITE_NOMEM. super-journal-malloc
dan [Fri, 12 Jun 2026 17:32:44 +0000 (17:32 +0000)] 
Fix errors in comments on this branch. Also prefer SQLITE_NOMEM_BKPT to SQLITE_NOMEM.

FossilOrigin-Name: ac17669e840dbac5c7c75e9b6014cca2d289aba8de36f9d1d0d61186e8cc6207

13 days agoFix a memory leak that could follow an OOM error in the new code on this branch.
dan [Fri, 12 Jun 2026 17:16:12 +0000 (17:16 +0000)] 
Fix a memory leak that could follow an OOM error in the new code on this branch.

FossilOrigin-Name: d4774a898730d9ef7564bba0a8531748e31e6517ab29564c2f5a0196c1584451

13 days agoImproved documentation for sqlite3_deserialize().
drh [Fri, 12 Jun 2026 16:47:45 +0000 (16:47 +0000)] 
Improved documentation for sqlite3_deserialize().

FossilOrigin-Name: f15d076820f4a0d9e7fa32d99575bce27bde5e987bb415e6cfb69b06f0da7e1e

13 days agoDo not use shared locks on SHM files when the filename is a long DOS-device
drh [Fri, 12 Jun 2026 16:26:39 +0000 (16:26 +0000)] 
Do not use shared locks on SHM files when the filename is a long DOS-device
path.  Only used shared locks for UNC paths.  Do not confuse the
long-DOS-device syntax with UNC paths.

FossilOrigin-Name: a4691489f21bb1645bb8de649268dd457af53c5f613f2a7fd2e5569f029efa87

13 days agoFix a buffer overwrite in fts3 that could occur while processing NEAR queries against...
dan [Fri, 12 Jun 2026 15:36:26 +0000 (15:36 +0000)] 
Fix a buffer overwrite in fts3 that could occur while processing NEAR queries against corrupt records. Bug [bugs:/info/2026-06-11T23:11:26Z | 2026-06-11T23:11:26Z].

FossilOrigin-Name: b0f773e99eb45cde0953e4870a0a7436c35277c95146fdab3aa06ebbc076c79e

13 days agoWhen using a read-only WAL/SHM, handle a corrupt page size in the WAL
drh [Fri, 12 Jun 2026 12:15:42 +0000 (12:15 +0000)] 
When using a read-only WAL/SHM, handle a corrupt page size in the WAL
file correctly.
[bugs:/info/2026-06-11T22:20:03Z|Bug 2026-06-11T22:20:03Z].

FossilOrigin-Name: 09ab0a1bac4eb7de651f78cfd3027b452308da7e04c4ccd7f46c402c82fd6ca5

13 days agoAdd the --raw option to the dbtotxt command-line tool, for debugging.
drh [Fri, 12 Jun 2026 11:55:39 +0000 (11:55 +0000)] 
Add the --raw option to the dbtotxt command-line tool, for debugging.

FossilOrigin-Name: abfecc08209c9377b6762125b2372e4eb1ab56b4d0399467c8fbe5cfc11c806e

13 days agoFix a signed integer overflow that could occur in fts3 when processing corrupt databa...
dan [Fri, 12 Jun 2026 11:24:30 +0000 (11:24 +0000)] 
Fix a signed integer overflow that could occur in fts3 when processing corrupt database records. Bug [bugs:/info/2026-06-11T23:12:25Z | 2026-06-11T23:12:25Z].

FossilOrigin-Name: 978d04f051c06aff798f915b0774da19a0b4f89f9daee124f7e62b12afaaced8

2 weeks agoComment improvements on the ".ar -x" command of the CLI. No changes to code.
drh [Thu, 11 Jun 2026 23:11:14 +0000 (23:11 +0000)] 
Comment improvements on the ".ar -x" command of the CLI.  No changes to code.

FossilOrigin-Name: 5b939fb1a284088c4bd46adf517cf598816e2262cd77ee2d9caaab1cef2ce9a1

2 weeks agoFix harmless compiler warnings.
drh [Thu, 11 Jun 2026 22:48:16 +0000 (22:48 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: dd0c161fcd1619518cd4671d64afb6afeec44c140ec176ccb8616d381a88f42f

2 weeks agoFurther improvements to the ".ar" command of the CLI.
drh [Thu, 11 Jun 2026 16:39:41 +0000 (16:39 +0000)] 
Further improvements to the ".ar" command of the CLI.

FossilOrigin-Name: 6149b938c7a1e95a0fb8600a81557dd0e3efb7b312f3806e2c09d03acf9f4b17

2 weeks agoThree-pass algorithm for the ".ar x" command in the CLI, so that symlinks
drh [Thu, 11 Jun 2026 14:28:48 +0000 (14:28 +0000)] 
Three-pass algorithm for the ".ar x" command in the CLI, so that symlinks
are created after all regular files are created.

FossilOrigin-Name: 37a80d20fe1948db15ac72432ed7bf3d573c80807fe0a58c58440647e3c34ab8

2 weeks agoAdd the (undocumented) --debug option to the ".ar" command in the CLI
drh [Thu, 11 Jun 2026 14:14:37 +0000 (14:14 +0000)] 
Add the (undocumented) --debug option to the ".ar" command in the CLI

FossilOrigin-Name: 3a040ffc47fa3e38b36716587c56d9b071d9c69d9daaa9cf0ef6baa654419ab5

2 weeks agoImproved detection of corrupt node IDs in RTree shadow tables.
drh [Thu, 11 Jun 2026 01:31:19 +0000 (01:31 +0000)] 
Improved detection of corrupt node IDs in RTree shadow tables.
Test case in TH3.

FossilOrigin-Name: e01a185a699d0c4ad2341ce2114bc826f02768735cef67179a1127229a073d03

2 weeks agoWhen reading a super-journal name from a journal file, allocate a new buffer rather...
dan [Wed, 10 Jun 2026 20:10:19 +0000 (20:10 +0000)] 
When reading a super-journal name from a journal file, allocate a new buffer rather than using Pager.pTmpSpace. This prevents a buffer overrun that could occur when using a VFS with a large sqlite3_vfs.mxPathname value with a database with a small page size.

FossilOrigin-Name: 37aa82a50a0a1c5edb4c4f2de1cb00fa009ebbfeb420df3de72231c5d883518a

2 weeks agoFix a signed-integer overflow in fts5 that might occur when dealing with strategicly...
dan [Wed, 10 Jun 2026 16:51:20 +0000 (16:51 +0000)] 
Fix a signed-integer overflow in fts5 that might occur when dealing with strategicly corrupted records. Bug [bugs:/info/2026-06-10T03:56:42Z | 2026-06-10T03:56:42Z].

FossilOrigin-Name: fc6442ee54795fbeb746539193716238aa653d80170523bc327ae3ce0d945ebf

2 weeks agoDetect an OOM condition in the realpath() function of the fileio.c extension
drh [Wed, 10 Jun 2026 10:40:29 +0000 (10:40 +0000)] 
Detect an OOM condition in the realpath() function of the fileio.c extension
and cause that function to return NULL.  To Do:  we should go back in and
fix realpath() to raise an SQLITE_NOMEM error on OOM rather than returning
NULL.  But we will delay that, in as much as OOMs are all but impossible
on modern OSes.
[bug:/info/2026-06-10T07:46:32Z|Bug 2026-06-10T07:46:32Z].

FossilOrigin-Name: 8b961dc3d27c5aa62a5dc7c2e44f8b505817e184f8499f3bb903e06b5aec1b72

2 weeks agoFix a possible signed integer overflow in the RBU extension given a
drh [Wed, 10 Jun 2026 10:13:11 +0000 (10:13 +0000)] 
Fix a possible signed integer overflow in the RBU extension given a
maliciously crafted delta.
[bugs:/info/2026-06-10T06:41:54Z|Bug 2026-06-10T06:41:54Z].

FossilOrigin-Name: 8531c0c3b61771592b055b0c22e903b8301a4161c7bcb7f9fc54d730b080d095

2 weeks agoHarden code that processes Fossil Deltas against OOM and maliciously
drh [Wed, 10 Jun 2026 09:51:33 +0000 (09:51 +0000)] 
Harden code that processes Fossil Deltas against OOM and maliciously
malformed delta blobs.
[bugs:/info/2026-06-10T07:01:00Z|Bug 2026-06-10T07:01:00Z] and
[bugs:/info/2026-06-10T07:06:43Z|Bug 2026-06-10T07:06:43Z].

FossilOrigin-Name: 67271c31292bc1bddbb5e144c881c85c9f91b3963a1db4bae1f738adab50f7c0

2 weeks agoAvoid a possible integer overflow when fts5 tokenizes a very large document. Only...
dan [Tue, 9 Jun 2026 10:43:37 +0000 (10:43 +0000)] 
Avoid a possible integer overflow when fts5 tokenizes a very large document. Only possible with non-standard builds that use large values of SQLITE_MAX_LENGTH. Bug [bugs:/info/2026-06-09T05:27:16Z | 2026-06-09T05:27:16Z].

FossilOrigin-Name: d562e91374e2bebcf75a00776b4def532bb71914a07e37c8507f7a5918db1d3b

2 weeks agoChange loop counter variables from int to i64 to avoid a potential
drh [Tue, 9 Jun 2026 10:16:40 +0000 (10:16 +0000)] 
Change loop counter variables from int to i64 to avoid a potential
integer overflow inside an assert() statement when SQLite is compiled
with SQLITE_DEBUG and an extra-large SQLITE_MAX_LENGTH.  Does not
affect production builds.
[bugs:/info/2026-06-09T08:53:14Z|Bug 2026-06-09T08:53:14Z].

FossilOrigin-Name: 77f615d9833b1f5eaabcb1a6b59af3a6698752abcd16592091f1630beec5969e

2 weeks agoFix builds on i486 CPUs. [forum:/info/2025-01-25T12:58:44Z|Forum 2025-01-25T12:58...
drh [Mon, 8 Jun 2026 18:15:27 +0000 (18:15 +0000)] 
Fix builds on i486 CPUs.  [forum:/info/2025-01-25T12:58:44Z|Forum 2025-01-25T12:58:44Z].

FossilOrigin-Name: 4cb349370daab17123770c814c71872a3e4c616a3f984569b3d7f97f9c3f5ea0

2 weeks agoFix another buffer overread in fts5 when processing corrupt records. Bug [bugs:/info...
dan [Mon, 8 Jun 2026 17:48:00 +0000 (17:48 +0000)] 
Fix another buffer overread in fts5 when processing corrupt records. Bug [bugs:/info/2026-06-08T16:03:39Z | 2026-06-08T16:03:39Z ].

FossilOrigin-Name: 8ba5acabf9a0273ffbc2ba0bacc7f0b000690db91081858e4e563d6cbeeb4e7a

2 weeks agoFix a buffer overread that could occur in fts5 when processing corrupt records. Bug...
dan [Mon, 8 Jun 2026 15:20:49 +0000 (15:20 +0000)] 
Fix a buffer overread that could occur in fts5 when processing corrupt records. Bug [bugs:/info/2026-06-08T11:15:52Z | 2026-06-08T11:15:52Z]

FossilOrigin-Name: b07441cfc06b8e6b47a4f4a6e0f5c261da580d5afe82444cc7f42a9f39ea7026

2 weeks agoAvoid a potential use-after-free in fts5. Report [bugs:/info/2026-06-08T08:45:27Z...
dan [Mon, 8 Jun 2026 12:03:52 +0000 (12:03 +0000)] 
Avoid a potential use-after-free in fts5. Report [bugs:/info/2026-06-08T08:45:27Z | 2026-06-08T08:45:27Z].

FossilOrigin-Name: 9c018b02dbfb071c748d540ad679a4dbdc0fb88a62988e02cb51a3403509febe

2 weeks agoClamp the nToken parameter to the fts5 snippet() function between 0 and 64. It has...
dan [Mon, 8 Jun 2026 11:24:05 +0000 (11:24 +0000)] 
Clamp the nToken parameter to the fts5 snippet() function between 0 and 64. It has always been documented this way, but not previously implemented. Report [bugs:/info/2026-06-08T08:29:00Z | 2026-06-08T08:29:00Z].

FossilOrigin-Name: 4af1d9b3e54a7c42552e61284456bbd7089e525d4aa55e580f7518956d8521bb

2 weeks agoAdd extra tests to check that non-deterministic functions may not be used in indexes.
dan [Mon, 8 Jun 2026 10:47:55 +0000 (10:47 +0000)] 
Add extra tests to check that non-deterministic functions may not be used in indexes.

FossilOrigin-Name: beeef9dc2b1d778ca628c5e3adc097778646933233ea5ea4f03d2cace0199c17

2 weeks agoImprovements to the GCC compiler bug work-around of check-in [7fae321095ebec77].
drh [Sat, 6 Jun 2026 18:32:53 +0000 (18:32 +0000)] 
Improvements to the GCC compiler bug work-around of check-in [7fae321095ebec77].

FossilOrigin-Name: 247894f70d8616cb16468025809513a7db70086d24d2a289b50b4e8d9e073eb4

2 weeks agoMinor performance enhancement and improved comments on the quicksort
drh [Sat, 6 Jun 2026 17:20:35 +0000 (17:20 +0000)] 
Minor performance enhancement and improved comments on the quicksort
algorithm used by the median() implementation in func.c.

FossilOrigin-Name: 2800f6a75bbb6ddc86f2e029a7d36ff08febe03812302fb7931eb68da316f74d

2 weeks agoA new approach to working around the GCC bug. gcc-bug-114659
drh [Fri, 5 Jun 2026 00:11:56 +0000 (00:11 +0000)] 
A new approach to working around the GCC bug.

FossilOrigin-Name: 2f95186ea568b27d45bd19fca1e03b878afb0b1ea0938875897c7323bdeab8a2

3 weeks agoDisable the vector-IN-SELECT optimization if the number of columns is so
drh [Thu, 4 Jun 2026 16:56:11 +0000 (16:56 +0000)] 
Disable the vector-IN-SELECT optimization if the number of columns is so
large that it would cause the WhereTerm.nChild column to wrap.
[bugs:/info/2026-06-04T10:00:49Z|Bug 2026-06-04T10:00:49Z].

FossilOrigin-Name: bb49dfc948048779a30deff9a3d1bb39846f6f72c26a2bdcdd0e386251720fe6

3 weeks agoFix a crash that could be caused by configuring the pager-cache with a bulk allocatio...
dan [Thu, 4 Jun 2026 11:48:18 +0000 (11:48 +0000)] 
Fix a crash that could be caused by configuring the pager-cache with a bulk allocation too small to fit even one page. Bug [bugs:/info/2026-06-04T07:03:12Z | 2026-06-04T07:03:12Z].

FossilOrigin-Name: b4b9dc632b06f932759bc2fceeb6fa1dd6e0de329106ae1d34be874ea1695859

3 weeks agoFix a possible NULL pointer derefence in the (experimental and untested)
drh [Thu, 4 Jun 2026 11:42:23 +0000 (11:42 +0000)] 
Fix a possible NULL pointer derefence in the (experimental and untested)
uuid.c extension.
[bugs:/info/2026-06-04T09:50:59Z|Bug 2026-06-04T09:50:59Z].

FossilOrigin-Name: fa6374fe3ae1530f0b5ba10b7e6fb703ffe5dd592c532a965e7d50b7d2d70a5f