]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
44 hours agoEnforce the 1GiB size limit on appendvfs files. master
drh [Wed, 29 Jul 2026 23:47:55 +0000 (23:47 +0000)] 
Enforce the 1GiB size limit on appendvfs files.
[bugs:/info/2026-07-29T06:29:52Z|Bug 2026-07-29T06:29:52Z]

FossilOrigin-Name: 180e75e07630b4fa7abdd28ad889e27031071555078989c40a8c10a1d2905338

44 hours agoFix the detection ON clauses using tables to the right so that it does
drh [Wed, 29 Jul 2026 23:28:56 +0000 (23:28 +0000)] 
Fix the detection ON clauses using tables to the right so that it does
not depend on the order of cursor allocation, which is inconsistent with
recursive CTEs.  Problem introduced by [d96271db6a3a44e5]. Reported by
[bugs:/info/2026-07-29T17:50:40Z|Bug 2026-07-29T17:50:40Z].

FossilOrigin-Name: 5a22150bf812774825ffc5bd8adcb5aa6d2177d5fe7eb95cb4130e4a44a706c6

46 hours agoImprove comments. Move a variable outside of a loop. bug-2026-07-29T17_50_40Z
drh [Wed, 29 Jul 2026 21:09:37 +0000 (21:09 +0000)] 
Improve comments.  Move a variable outside of a loop.

FossilOrigin-Name: f26831158e28a46805466da71b3fc04e19c2199545cc8c5d68281867f8110ef3

2 days agoAvoid assuming that cursor numbers were allocated in order for all SrcList objects...
dan [Wed, 29 Jul 2026 19:17:40 +0000 (19:17 +0000)] 
Avoid assuming that cursor numbers were allocated in order for all SrcList objects when detecting ON clauses that refer to tables to their right. Possible fix for [bugs:/info/2026-07-29T17:50:40Z | 2026-07-29T17:50:40Z].

FossilOrigin-Name: ebfea8cfb03e0578364bb1f5f8f44c55127f2155d9a0999865a811098f69e9f4

2 days agoIn the experimental and unsupported amatch.c extension, raise an error
drh [Wed, 29 Jul 2026 18:03:45 +0000 (18:03 +0000)] 
In the experimental and unsupported amatch.c extension, raise an error
if a cost value is out of range even if the rule that the cost applies
to will never be used.
[bugs:/info/2026-07-29T06:30:13Z|Bug 2026-07-29T06:30:13Z]

FossilOrigin-Name: 86b7a62c5ccf41479a9556e705e3c43973a4033c2db42d298050dcfce121ee05

2 days agoDo not allow recursion in extension functions sha1_query() or sha3_query().
drh [Wed, 29 Jul 2026 17:36:16 +0000 (17:36 +0000)] 
Do not allow recursion in extension functions sha1_query() or sha3_query().
[bugs:/info/2026-07-29T06:29:33Z|Bug 2026-07-29T06:29:33Z].

FossilOrigin-Name: 4687e04d948b787cee748279b13774ee1389bb179f8762720631a540f5cd9136

2 days agoTurn redundant loads of the experimental vfsstat.c extension from a
drh [Wed, 29 Jul 2026 17:19:00 +0000 (17:19 +0000)] 
Turn redundant loads of the experimental vfsstat.c extension from a
stack overflow into a harmless no-op.
[bugs:/info/2026-07-29T06:28:47Z|Bug 2026-07-29T06:28:47Z].

FossilOrigin-Name: add89fba2ffe9da5b0305182c97f8408e0dd7d2c3d81f40e0a84f6f79154c5a3

2 days agoTurn redundant registrations of the cksumvfs extension from a stack
drh [Wed, 29 Jul 2026 17:08:52 +0000 (17:08 +0000)] 
Turn redundant registrations of the cksumvfs extension from a stack
overflow into a harmless no-op.
[gugs:/info/2026-07-29T06:28:31Z|Bug 2026-07-29T06:28:31Z]

FossilOrigin-Name: d6453bc80e6e717813f2f5d4a40548cbc25e83e09c209793cacfddb94a408053

2 days agoReturn an empty string if an fts3 snippet() is requested for an out-of-range column...
dan [Wed, 29 Jul 2026 16:55:36 +0000 (16:55 +0000)] 
Return an empty string if an fts3 snippet() is requested for an out-of-range column index. Bug [bugs:/info/2026-07-29T06:30:35Z | 2026-07-29T06:30:35Z].

FossilOrigin-Name: 5c645d5e241f6055c8dd45936a52245ecb2476a6603e06b793912bf897e42239

2 days agoAlways take a copy of a value used to drive an index as part of a RIGHT JOIN loop...
dan [Wed, 29 Jul 2026 15:57:29 +0000 (15:57 +0000)] 
Always take a copy of a value used to drive an index as part of a RIGHT JOIN loop. Otherwise, the RIGHT JOIN loop and the body of the loop it jumps back into may interfere with each other. Fix for [bugs:/info/2026-07-29T05:33:50Z | 2026-07-29T05:33:50Z].

FossilOrigin-Name: 8d626b31ae058de1eebb50d9b6e777318bd9d3a4c75e9f5ada4faba88a1e0188

2 days agoAlways take a copy of a value used to drive an index as part of a RIGHT JOIN loop... bug-2026-07-29T05_33_50Z
dan [Wed, 29 Jul 2026 15:49:38 +0000 (15:49 +0000)] 
Always take a copy of a value used to drive an index as part of a RIGHT JOIN loop. Otherwise, the RIGHT JOIN loop and the body of the loop it jumps back into may interfere with each other. Possible fix for [bugs:/info/2026-07-29T05:33:50Z | 2026-07-29T05:33:50Z].

FossilOrigin-Name: d7ad2d0a91b7b837b09b04f78e617fe80eb5ae48f178446c942c2a84e0e0201a

2 days agoAvoid apply an affinity to a register that might be the result of a TK_AGG_COLUMN...
dan [Wed, 29 Jul 2026 15:13:41 +0000 (15:13 +0000)] 
Avoid apply an affinity to a register that might be the result of a TK_AGG_COLUMN expression, as it might be reused. Fix for bug [bugs:/info/2026-07-29T05:51:06Z | 2026-07-29T05:51:06Z].

FossilOrigin-Name: b9ecd9caf755dd33f1de952ac8e5e2d731c20880a0872f10494f92ecf8cae331

2 days agoAvoid apply an affinity to a register that might be the result of a TK_AGG_COLUMN... bug-2026-07-29T05_51_06
dan [Wed, 29 Jul 2026 14:23:30 +0000 (14:23 +0000)] 
Avoid apply an affinity to a register that might be the result of a TK_AGG_COLUMN expression, as it might be reused. Possible fix for bug [bugs:/info/2026-07-29T05:51:06Z | 2026-07-29T05:51:06Z].

FossilOrigin-Name: e5cce8a0026e71985f3afd07aba4b3f550871a1079d18234efa19438eed15d2d

2 days agoBlock deep recursion in test extension functions test_eval() and eval().
drh [Wed, 29 Jul 2026 13:00:37 +0000 (13:00 +0000)] 
Block deep recursion in test extension functions test_eval() and eval().
Does not affect deliverable code.
[bugs:/info/2026-07-29T06:29:11Z|Bug 2026-07-29T06:29:11Z]

FossilOrigin-Name: 3e99c27fe3db76a146bb4a77c08007e6c4598cda7975dd40d4f7f14c3bd914b5

2 days agoImproved comments clarifying operation of the ext/misc/noop.c testing
drh [Wed, 29 Jul 2026 11:28:07 +0000 (11:28 +0000)] 
Improved comments clarifying operation of the ext/misc/noop.c testing
extension.
[bugs:/info/2026-07-29T06:31:22Z|Bug 2026-07-29T06:31:22Z].

FossilOrigin-Name: c9bb594059c5e7ad6fd04f1b8087910833d89f05ddf1b6eea6bd5590c851c790

2 days agoFix the sha1() extension function so that it interprets zero-length
drh [Wed, 29 Jul 2026 10:28:44 +0000 (10:28 +0000)] 
Fix the sha1() extension function so that it interprets zero-length
BLOBs as BLOBs and not as NULL.  Also add a few test cases for that
extension function, which was previously completely untested.
[bugs:/info/2026-07-29T06:31:41Z|Bug 2026-07-29T06:31:41Z].

FossilOrigin-Name: 978d12de384fef985d0363633566304bb20f452dfe8ceb836ca1d353a135f30a

3 days agoFurther fixes for running [make devtest] with Fil-C.
dan [Tue, 28 Jul 2026 14:16:52 +0000 (14:16 +0000)] 
Further fixes for running [make devtest] with Fil-C.

FossilOrigin-Name: 1ed5e5bed26e3d38dd09541ce73dc68188574e236ecb60142260a0c40bf8902a

4 days agoRemove a stray reference to "sqlite3_checker.exe" from Makefile.msc. sqlite3_checker...
dan [Mon, 27 Jul 2026 14:22:55 +0000 (14:22 +0000)] 
Remove a stray reference to "sqlite3_checker.exe" from Makefile.msc. sqlite3_checker was removed from the tree here [213b1c6608].

FossilOrigin-Name: 86bc7c8648fa6df303cd6953e377227d8a778b7becca984332bb6f623cb52cec

4 days agoThe MREMAP_FIXED macro (added by [4d60798b20a560be]) is not available
drh [Mon, 27 Jul 2026 11:19:44 +0000 (11:19 +0000)] 
The MREMAP_FIXED macro (added by [4d60798b20a560be]) is not available
on all platforms.

FossilOrigin-Name: 8afa7a1d40eef6fd5e9d6a2c250822de607cb211b301547a3317bdb9e942c937

4 days agoUse snprintf() rather than sprintf() in the dtostr() test function of
drh [Mon, 27 Jul 2026 10:19:50 +0000 (10:19 +0000)] 
Use snprintf() rather than sprintf() in the dtostr() test function of
the CLI. [forum:/info/2026-07-27T09:44:11Z|Forum 2026-07-27T09:44:11Z].

FossilOrigin-Name: c0681a6cb72c3bf012a253206ba4ef30db039cdfb01d53758cdb184b67ff954f

5 days agoAdd reference counting to the EditDist3Config object in the spellfix
drh [Sun, 26 Jul 2026 18:45:54 +0000 (18:45 +0000)] 
Add reference counting to the EditDist3Config object in the spellfix
extension.  This should prevent possible UAF following OOM as
described by [bugs:/info/2026-07-26T07:55:13Z|Bug 2026-07-26T07:55:13Z].

FossilOrigin-Name: 37364eaecc148133de4e5b329e10c70922e65829244b4abd448c0adb5ca40877

5 days agoAdd a JS test for [d5d8ee76d3] resp. [012550c089].
stephan [Sun, 26 Jul 2026 16:05:47 +0000 (16:05 +0000)] 
Add a JS test for [d5d8ee76d3] resp. [012550c089].

FossilOrigin-Name: f28494eeafc37320932a932044ecd66b6900632a1eccd45a9f8bed653cee3466

5 days agoFactor an extranous local var out of the previous check-in.
stephan [Sun, 26 Jul 2026 15:56:06 +0000 (15:56 +0000)] 
Factor an extranous local var out of the previous check-in.

FossilOrigin-Name: 422b4303dae214e23a53b181e5cdf7888d159da33e1675fd8317cbe66834b78e

5 days agoRemove some extraneous I/O in kvvfs. Reported off-list by Jure Rotar.
stephan [Sun, 26 Jul 2026 15:47:56 +0000 (15:47 +0000)] 
Remove some extraneous I/O in kvvfs. Reported off-list by Jure Rotar.

FossilOrigin-Name: ce09bfe406728312761a9f227b3f82cbee7cc176dddac1a499e10480a7ee2c1c

5 days agoFix a JS container API misuse in sqlite3.oo1.DB.close() which caused its fallback...
stephan [Sun, 26 Jul 2026 15:39:18 +0000 (15:39 +0000)] 
Fix a JS container API misuse in sqlite3.oo1.DB.close() which caused its fallback cleanup of still-open statements to not actually do so. Reported off-list by Jure Rotar.

FossilOrigin-Name: d5d8ee76d337820f765cea7b279f2e5644a24d4f0e76d53b35b4d52277edb767

6 days agoImproved optimization of "expr OR TRUE" and "expr OR FALSE".
drh [Sat, 25 Jul 2026 18:56:31 +0000 (18:56 +0000)] 
Improved optimization of "expr OR TRUE" and "expr OR FALSE".
[bugs:/info/2026-07-25T08:36:25Z|Bug 2026-07-25T08:36:25Z].

FossilOrigin-Name: 2f0bde4bc89c2b088c8f821719d7e457d9129c0493032152b8f4472673973e58

6 days agoAvoid opening cursors only required for reads that are optimized away by the exists...
dan [Sat, 25 Jul 2026 17:13:30 +0000 (17:13 +0000)] 
Avoid opening cursors only required for reads that are optimized away by the exists-to-join optimization. Addresses report [bugs:/info/2026-07-25T08:39:23Z | 2026-07-25T08:39:23Z].

FossilOrigin-Name: c81ec73a3780cf7a44965f1763f1e6e2c324b60132197756fdb351e98052fd02

6 days agoIgnore any DISTINCT qualifier on a SELECT statement on the RHS of an IN(...) expressi...
dan [Sat, 25 Jul 2026 14:49:40 +0000 (14:49 +0000)] 
Ignore any DISTINCT qualifier on a SELECT statement on the RHS of an IN(...) expression. Forum post [bugs:/info/2026-07-25T08:40:13Z | 2026-07-25T08:40:13Z].

FossilOrigin-Name: c54858eab45f71a77249c8ecdc8e107cf631e743b8b883f2b6db60e0bf7e908a

7 days agoFix an incompatibility with Tcl 9 in scanstatus2.test.
dan [Fri, 24 Jul 2026 16:28:47 +0000 (16:28 +0000)] 
Fix an incompatibility with Tcl 9 in scanstatus2.test.

FossilOrigin-Name: 2f1f4f73535386549c12694dc57cfe555eec689ae6824c6241aaf8d5befcd74d

7 days agoFix a bug in the check-in [bbd69ce274620008] causing that bug-fix
drh [Fri, 24 Jul 2026 14:53:59 +0000 (14:53 +0000)] 
Fix a bug in the check-in [bbd69ce274620008] causing that bug-fix
check-in to fail to completely fix the original bug.  This fix is in response
to the follow-up report at
[bugs:/info/2026-07-24T02:52:08Z|Bug 2026-07-24T02:52:08Z].

FossilOrigin-Name: 2cb22877683680c1f89bcc9edb47bd1a4a8755d4a6b846a1a20136a657dacdcc

7 days agoFix a problem in test1.c causing test script win32lock.test to fail.
dan [Fri, 24 Jul 2026 14:10:00 +0000 (14:10 +0000)] 
Fix a problem in test1.c causing test script win32lock.test to fail.

FossilOrigin-Name: 8f6d25b3f0171a40be8a5cb646739f54e496aaf9d4829c24c243ec4b71e0caa8

7 days agoFix to the interaction between indexes-on-expressions, subtypes, and
drh [Fri, 24 Jul 2026 13:36:44 +0000 (13:36 +0000)] 
Fix to the interaction between indexes-on-expressions, subtypes, and
the unary "+" operator.  This is a continuation of the prior fix from
check-in [d75c08c8416bde3f].  This enhanced fix is prompted by
[bugs:/info/2026-07-24T08:42:47Z|Bug 2026-07-24T08:42:47Z].

FossilOrigin-Name: 5398c6a2b6b218461ce1f6437791c62c1ee125fba195660e0d6d1ad97ed6d14c

7 days agoIn test_syscall.c, assume SQLite always calls the 4 (not 5) argument form of mremap...
dan [Fri, 24 Jul 2026 10:38:27 +0000 (10:38 +0000)] 
In test_syscall.c, assume SQLite always calls the 4 (not 5) argument form of mremap(). This fixes a problem with Fil-C and mmap2.test.

FossilOrigin-Name: 4d60798b20a560beb945afe7e2998714aa7e5a83a9db078d4431040f0b6e7350

7 days agoFix some test cases on Windows.
drh [Fri, 24 Jul 2026 00:39:41 +0000 (00:39 +0000)] 
Fix some test cases on Windows.

FossilOrigin-Name: d2d6363f31ecbae353a1e80810f42d9e2f0f8db0fe6294c7deadf0c58669b9d0

7 days agoEnhance Bloom-filter support so that it works with blob values and with
drh [Thu, 23 Jul 2026 21:34:16 +0000 (21:34 +0000)] 
Enhance Bloom-filter support so that it works with blob values and with
text values as long as the collating sequence is binary.

FossilOrigin-Name: a67bff640c9e4ffdf2f48c049eaf829b9e43d167a1055bf8780ff29c910bbade

7 days agoNew test cases for Bloom filter use on text keys as long as the bloom-filter-on-text
drh [Thu, 23 Jul 2026 20:23:04 +0000 (20:23 +0000)] 
New test cases for Bloom filter use on text keys as long as the
collating sequence is binary.

FossilOrigin-Name: 98ced971bfd48aedf862fa0f8674744723e36eeda2ad600e91062fc8b7d9da9e

7 days agoChange the way pointers are passed between C code and Tcl test scripts. This allows...
dan [Thu, 23 Jul 2026 20:04:20 +0000 (20:04 +0000)] 
Change the way pointers are passed between C code and Tcl test scripts. This allows tests to be run with Fil-C builds.

FossilOrigin-Name: ba919ea1d4fe84526a4c844b3f901e5e8b1650dcdee647e4d46da2d33ced1710

8 days agoImproved Bloom-filter invariant checking.
drh [Thu, 23 Jul 2026 18:55:12 +0000 (18:55 +0000)] 
Improved Bloom-filter invariant checking.

FossilOrigin-Name: f38f4167110df11ba54816932126f695dc6e114d4001d0261669807a55ad7966

8 days agoFix the new filterHash() function so that it works correctly for zeroblobs.
drh [Thu, 23 Jul 2026 17:41:10 +0000 (17:41 +0000)] 
Fix the new filterHash() function so that it works correctly for zeroblobs.

FossilOrigin-Name: 3013d6ab4afd4f63fa63a773778adcf07821cfcb33e3ae42752aea13fd2b6224

8 days agoAdd the ability for Bloom filters to work on text values, as long as
drh [Thu, 23 Jul 2026 16:00:10 +0000 (16:00 +0000)] 
Add the ability for Bloom filters to work on text values, as long as
the collating sequence is BINARY.

FossilOrigin-Name: 2577edc796505a0a6dabccbcc1bb6a828457092caa4d074561da5e58a6f065a2

8 days agoCLI improvement: New command-line option "--cmdline-edit BOOLEAN" to
drh [Thu, 23 Jul 2026 12:12:37 +0000 (12:12 +0000)] 
CLI improvement:  New command-line option "--cmdline-edit BOOLEAN" to
enable/disable command-line editing.  Command-line editing is disabled
by default if either stdin or stdout is not a tty.

FossilOrigin-Name: 675ed9a486fecc734a6aad2e80fd800183c33f72dce1435a193f0e4cf4ede944

9 days agoFix an error handling case in #base64.
stephan [Wed, 22 Jul 2026 14:16:33 +0000 (14:16 +0000)] 
Fix an error handling case in #base64.

FossilOrigin-Name: f8c408f66257881937ed18b77e274f71dba2d97dd44546372fa0b0a9629efbd2

9 days agoAdd (#base64 -f filename) support to the preprocessor and slightly simplify the wasm...
stephan [Wed, 22 Jul 2026 14:06:41 +0000 (14:06 +0000)] 
Add (#base64 -f filename) support to the preprocessor and slightly simplify the wasm embedding with it. Fix a bug in the preprocessor's @token@ call expansion when the length of the configured @ is greater than 1 byte.

FossilOrigin-Name: 1e90bedec99054f4856bfb89efc4d676486504db67bd1304c45d14c638ddfc7e

9 days agoDo not cache the results of getenv() in the temporary filename generation
drh [Wed, 22 Jul 2026 12:55:23 +0000 (12:55 +0000)] 
Do not cache the results of getenv() in the temporary filename generation
logic as that might result in a UAF if an environment variable value is
modified using setenv() or similar.

FossilOrigin-Name: cefd5807d8be41f8ff0ce1ce487064dcbcf2f05583b86dbe68a3ae1960b13d9f

9 days agoImprovements to the unix temporary filename generator so that it continues temp-filenames
drh [Wed, 22 Jul 2026 11:24:48 +0000 (11:24 +0000)] 
Improvements to the unix temporary filename generator so that it continues
to work even after SQLITE_TMPDIR or TMPDIR environment variables are
changed by the application.  Similar changes are needed for Windows.

FossilOrigin-Name: 82e522ff1429e7eed2ffb0e960badc5757fd015023b7c0679ba32108e44e4abd

9 days agoRemove an unnecessary munmap() from the unix interface.
drh [Tue, 21 Jul 2026 23:54:01 +0000 (23:54 +0000)] 
Remove an unnecessary munmap() from the unix interface.

FossilOrigin-Name: 5fc1ede8b2e559db8a5d783d1065b1f1b2eef73054486552b700706208cbdfd1

9 days agoRandom makefile doc updates. No functional changes.
stephan [Tue, 21 Jul 2026 20:56:55 +0000 (20:56 +0000)] 
Random makefile doc updates. No functional changes.

FossilOrigin-Name: 014ef252c7ea404340a5af52a6615cdddd969a4dbf30712fda538550240bb9fc

9 days agoRandom minor doc and formatting cleanups in the wasm makefile generator.
stephan [Tue, 21 Jul 2026 20:18:16 +0000 (20:18 +0000)] 
Random minor doc and formatting cleanups in the wasm makefile generator.

FossilOrigin-Name: a24064919bcc187d5a4d9fa67cb1810fc4e7b9c92596fd2c8e6b0a66bc37e4b3

10 days agoRestructure an errant goto which only accidentally never broke anything. Add some...
stephan [Tue, 21 Jul 2026 19:12:38 +0000 (19:12 +0000)] 
Restructure an errant goto which only accidentally never broke anything. Add some debug output to mkwasmbuilds.c.

FossilOrigin-Name: 0ca4e748e1682046f2e060876bcf7e8d249aa5611d939d32dc1365d3bcf12b48

10 days agoThe base64.wasm=1 flag to ext/wasm/GNUmakefile tells it to embed each resulting WASM...
stephan [Tue, 21 Jul 2026 16:58:02 +0000 (16:58 +0000)] 
The base64.wasm=1 flag to ext/wasm/GNUmakefile tells it to embed each resulting WASM file directly in its counterpart JS file base64-encoded. This is roughly 20% larger and saves a network request but is overall less efficient so will not be the new default. It may be interesting for custom builds, in particular for server-side node.js.

FossilOrigin-Name: 7a06190b712e0634dfc9ac53ab7632c2f46186cd280afd2da4af35df433bc3ed

10 days agoDocument the origin of the input size limit for #base64. No functional changes. wasm-base64
stephan [Tue, 21 Jul 2026 16:43:36 +0000 (16:43 +0000)] 
Document the origin of the input size limit for #base64. No functional changes.

FossilOrigin-Name: 696988aac30797139060eb2718fcfda0363f1fa73df1187ea56956681d577411

10 days agoSimplify the previous checkin by removing an extraneous local var.
stephan [Tue, 21 Jul 2026 16:29:34 +0000 (16:29 +0000)] 
Simplify the previous checkin by removing an extraneous local var.

FossilOrigin-Name: 6382d8336e2891c556456a340daecff81766980a27071e1d5bda6262ffba6f26

10 days agoFix the corner case of feeding #base64 empty input.
stephan [Tue, 21 Jul 2026 16:23:21 +0000 (16:23 +0000)] 
Fix the corner case of feeding #base64 empty input.

FossilOrigin-Name: 999d20197143d884158341ac36e33bc1eb8e3484228eaf532818add927c30228

10 days agoConsolidate a duplicated code block and ensure that the new filtering of the final...
stephan [Tue, 21 Jul 2026 16:12:06 +0000 (16:12 +0000)] 
Consolidate a duplicated code block and ensure that the new filtering of the final JS files makes them read/write so that rebuilds without a clean between them work.

FossilOrigin-Name: 8b013184e42dbd7cd47c07bbb1edbb1f088dfb4efe540bfbc52a2e3c472c7b2d

10 days agoAdd support for (make base64.wasm=1), which embeds sqlite3.wasm into its correspondin...
stephan [Tue, 21 Jul 2026 16:04:10 +0000 (16:04 +0000)] 
Add support for (make base64.wasm=1), which embeds sqlite3.wasm into its corresponding JS file as base64. A very expensive calculator which was fed the resulting file sizes assures me that the two-file approach is, in the aggregate, more efficient both in terms of overall network bandwidth (+~20% bigger for base64) and client-side memory usage (streaming vs non-streaming wasm compilation), so we'll shelve this as an interesting experiment or maybe for use by custom builds.

FossilOrigin-Name: a167aee75198ff08b20b448fecd3267ed4a70af2472c02605318a5613f446fc6

10 days agoThis embeds sqlite3.wasm into sqlite3.js/mjs as base64 but is applied globally -...
stephan [Tue, 21 Jul 2026 13:28:52 +0000 (13:28 +0000)] 
This embeds sqlite3.wasm into sqlite3.js/mjs as base64 but is applied globally - it still needs to be made configurable.

FossilOrigin-Name: 0467a0f826b5b7bb65d9c74df80c7443f01824c1cc8184417849a74791f491b7

10 days agoAn initial attempt at embedding sqlite3.wasm into sqlite3.js using base64. This produ...
stephan [Tue, 21 Jul 2026 12:57:48 +0000 (12:57 +0000)] 
An initial attempt at embedding sqlite3.wasm into sqlite3.js using base64. This produces a chicken-egg situation in the build because the input file where the blob belongs is injested by emscripten (which generates the wasm file from which that blob is to be generated), so it does not work as-is but is being set aside for later. We'll need to add a second preprocessing step which uses a different #directive delimiter to keep it hidden inside the first pass, then squeeze the wasm file in through there.

FossilOrigin-Name: 538199cf62f07a2fe7ee5775c9f01aff1644d638bc0916cf631d61376462b5cb

10 days agoLatest upstream ext/wasm/libcmpp.c, primarily to make it filcc-legal (only the final...
stephan [Tue, 21 Jul 2026 10:44:28 +0000 (10:44 +0000)] 
Latest upstream ext/wasm/libcmpp.c, primarily to make it filcc-legal (only the final chunk in the diff - the rest is minor changes accumulated since the last update).

FossilOrigin-Name: 06f3bbc5bddc2e763042f8b487a3deedf47c54b7fa785ba6fd6abd524b4cbe3a

10 days agoImprove performance and robustness of internal routine jsonBlobExpand().
drh [Mon, 20 Jul 2026 21:03:27 +0000 (21:03 +0000)] 
Improve performance and robustness of internal routine jsonBlobExpand().

FossilOrigin-Name: 099af17c6f82d0a1357f4d3ec5967fb5c664ec532ddfa674017cb4d8041d45c3

10 days agoAdd tests to verify that the problem reported by forum post [forum:/info/2026-07...
dan [Mon, 20 Jul 2026 20:23:27 +0000 (20:23 +0000)] 
Add tests to verify that the problem reported by forum post [forum:/info/2026-07-20T18:27:00Z | 2026-07-20T18:27:00Z] is only a problem on branch-3.53, not on this branch.

FossilOrigin-Name: 6384b4b8720e35682c3ec01e7de6f0fcaec58026d5e07dfaf989f5e5851d9810

10 days agoImproved detection and reporting of deliberate misinformation in the
drh [Mon, 20 Jul 2026 20:03:12 +0000 (20:03 +0000)] 
Improved detection and reporting of deliberate misinformation in the
sqlite_schema table.

FossilOrigin-Name: 760af4e455e478f8ab72a574eb5f0141bb57e023beee3d16f9a8c02cbd726e45

11 days agoRemove an incorrect ALWAYS() macro from the implementation of the
drh [Mon, 20 Jul 2026 19:17:30 +0000 (19:17 +0000)] 
Remove an incorrect ALWAYS() macro from the implementation of the
internal exprNodeCanReturnSubtype() routine so that it works with
zero-argument deterministic functions like pi().

FossilOrigin-Name: a2511c6223a08033a2c5c66faee3afa50b992dc18de7a8498c8e3d24ce1376cc

11 days agoEnsure that a write with REPLACE conflict resolution on an integer primary key column...
dan [Mon, 20 Jul 2026 17:53:36 +0000 (17:53 +0000)] 
Ensure that a write with REPLACE conflict resolution on an integer primary key column is handled after any IGNORE or FAIL conflicts, even if there is also an explicit "ON CONFLICT" clause unrelated to the IPK. Forum post [forum:info/2026-07-17T09:30:42Z | 2026-07--17T09:30:42Z]. Also fix a problem whereby a trigger fired by REPLACE conflict resolution might cause a UNIQUE conflict violation to be committed to the database. Forum post [forum:/info/2026-07-18T09:45:24Z | 2026-07-18T09:45:24Z].

FossilOrigin-Name: 8f0ad8f33f5e040eb70b0b77d730c2e785827621bb0ad21afd9ce2efe4dad921

11 days agoAdditional test cases. do-nothing-replace-bug
drh [Mon, 20 Jul 2026 16:45:50 +0000 (16:45 +0000)] 
Additional test cases.

FossilOrigin-Name: 3ae4f953de5349c7e90ad245a0c21e513d4ef23d636fd786842619aff12c2d27

11 days agoMove the new test cases for this branch into a new *.test file.
drh [Mon, 20 Jul 2026 14:37:21 +0000 (14:37 +0000)] 
Move the new test cases for this branch into a new *.test file.

FossilOrigin-Name: 7bdce4ec3b9995a13536eaa2e6a5702333e792b35fa58e606b2e4fa38b85f524

11 days agoPerformance improvement in the sqlite3_initialize() interface.
drh [Mon, 20 Jul 2026 11:50:37 +0000 (11:50 +0000)] 
Performance improvement in the sqlite3_initialize() interface.

FossilOrigin-Name: 4ad701b085ce1b9ada41441f560e55580f0dd33e8145857afce6c665aa974ad0

12 days agoFix boundary cases of rowid lookup using very large floating point values -
drh [Sun, 19 Jul 2026 19:49:24 +0000 (19:49 +0000)] 
Fix boundary cases of rowid lookup using very large floating point values -
values near the minimum and maximum 64-bit signed integer.
[forum:/info/2026-07-19T07:31:46Z|Forum 2026-07-19T07:31:46Z].

FossilOrigin-Name: 987ba5a3dc5f2a2294b77ef3ec1ea06682f0530a7268777c6b64985dd0e90d40

12 days agoLatest upstream jimsh0.c for minor portability improvements and cleanups.
stephan [Sun, 19 Jul 2026 12:56:34 +0000 (12:56 +0000)] 
Latest upstream jimsh0.c for minor portability improvements and cleanups.

FossilOrigin-Name: 436cf63e941b3db936a01d4584c9e3cc9675ce9ef4b6689530218c27252c170d

13 days agoTest case fixes due to the previous.
drh [Sat, 18 Jul 2026 19:49:18 +0000 (19:49 +0000)] 
Test case fixes due to the previous.

FossilOrigin-Name: 923665823276ee9404a9fdb19378b970eeea77a97bc2f4312446c6f6bc5e4405

13 days agoAfter a DELETE trigger is fired by REPLACE conflict handling, retest all UNIQUE const...
dan [Sat, 18 Jul 2026 19:31:56 +0000 (19:31 +0000)] 
After a DELETE trigger is fired by REPLACE conflict handling, retest all UNIQUE constraints to ensure that the row being inserted or updated does not conflict with one written by the DELETE trigger. Abort the statement if it does. Possible fix for forum post [forum:/info/2026-07-18T03:35:48Z | 2026-07-18T03:35:48Z].

FossilOrigin-Name: e2ab286bb713e1358ae9a1d50dc894362d0ea6f1a2e8467c587f42f0e483dd3a

13 days agoDisqualify the count-of-view optimization if the view is really
drh [Sat, 18 Jul 2026 17:47:25 +0000 (17:47 +0000)] 
Disqualify the count-of-view optimization if the view is really
a correlated subquery.
[forum:/info/2026-07-18T10:23:43Z|Forum post 2026-07-18T10:23:43Z].

FossilOrigin-Name: bb65c3adcd79581715f90d287807a3f03b375f69957c7d0202d31b23cf627da0

13 days agoUpdate tcl test command "optimization_control" to support the "count-of-view" optimiz...
dan [Sat, 18 Jul 2026 13:34:51 +0000 (13:34 +0000)] 
Update tcl test command "optimization_control" to support the "count-of-view" optimization.

FossilOrigin-Name: b14c3f8fec5123b1faa6d88dee2740ee4acb10dd522207531567d46f4714e227

13 days agoEnhancements to new test cases, for improved readability.
drh [Sat, 18 Jul 2026 09:04:36 +0000 (09:04 +0000)] 
Enhancements to new test cases, for improved readability.

FossilOrigin-Name: 053e0d1f011d9ff4d57a6e33adf8de9a7a5550a3c5f6a6d4c511f75b85a09a99

13 days agoAdd test cases from
drh [Sat, 18 Jul 2026 08:46:36 +0000 (08:46 +0000)] 
Add test cases from
[forum:/info/2026-07-18T03:35:48Z|Forum Post 2026-07-18T03:35:48Z].
New test cases are currently failing, as new or alternative fixes
are needed for the original problem.

FossilOrigin-Name: 49b67b7da6bceae3ee87153480e676f53a472b0f6e0ed8d1866ed819e8f64fa1

13 days agoAdditional test cases
drh [Fri, 17 Jul 2026 23:25:28 +0000 (23:25 +0000)] 
Additional test cases

FossilOrigin-Name: da16fe363e2b0f8e735405a03fd0cae0796333c37d41cb323863d3803ebfdc45

2 weeks agoEnsure that a write with REPLACE conflict resolution on an integer primary key column...
dan [Fri, 17 Jul 2026 16:26:56 +0000 (16:26 +0000)] 
Ensure that a write with REPLACE conflict resolution on an integer primary key column is handled after any IGNORE or FAIL conflicts, even if there is also an explicit "ON CONFLICT" clause unrelated to the IPK. Forum post [forum:/info/2026-07-17T09:30:42Z | 2026-07-17T09:30:42Z].

FossilOrigin-Name: 1875249ab30fb110bc09963b592c8f48d2fb57066d770ad7e1da7e8bc8602977

2 weeks agoAdd the SQLITE_SHELL_EDITION compile-time option, which if set to a
drh [Thu, 16 Jul 2026 23:55:15 +0000 (23:55 +0000)] 
Add the SQLITE_SHELL_EDITION compile-time option, which if set to a
date number of the form YYYYMMDD will try to configure the defaults
to be similar to the latest release at or prior to that date.

FossilOrigin-Name: 6924895d2cbc50971d8da1810423ad15c638dabc31b4f1083dd6076e20492ef4

2 weeks agoRelax the restrictions on reordering tables in vtab queries that occur to the right...
dan [Thu, 16 Jul 2026 13:17:34 +0000 (13:17 +0000)] 
Relax the restrictions on reordering tables in vtab queries that occur to the right of a LEFT or CROSS JOIN but are not actually the RHS of said join.

FossilOrigin-Name: 9062c79fc273d9e59090ea475e7d2abaf33c7cfe9948cbfb92b979a6ed31a37f

2 weeks agoRelax the restrictions on reordering tables in vtab queries that occur to the right... vtab-outer-joins
dan [Wed, 15 Jul 2026 19:19:03 +0000 (19:19 +0000)] 
Relax the restrictions on reordering tables in vtab queries that occur to the right of a LEFT or CROSS JOIN but are not actually the RHS of said join.

FossilOrigin-Name: 7df34b446edb2e6826f504a9fed13631817ac03e1423539fc4c28efe7ec485e0

2 weeks agoAdjust QRF to generate lower-case HTML output with the SQLITE_STYLE_Html
drh [Tue, 14 Jul 2026 17:02:47 +0000 (17:02 +0000)] 
Adjust QRF to generate lower-case HTML output with the SQLITE_STYLE_Html
style setting.

FossilOrigin-Name: 4be8630e053de91fb03c960d792960e837cf6360d5d24fbae4fc97b8fcaef062

2 weeks agoRemove harmless "breakpoint" command inserted by the previous check-in
drh [Tue, 14 Jul 2026 14:52:25 +0000 (14:52 +0000)] 
Remove harmless "breakpoint" command inserted by the previous check-in

FossilOrigin-Name: 5a4b0b81de1abf9c1b73f026b416b29b9bdddc7a1b73ae5b9aa02f3dde131731

2 weeks agoUpdate some test cases in fts5corrupt3.test and fts5corruptB.test to account for...
dan [Tue, 14 Jul 2026 11:46:07 +0000 (11:46 +0000)] 
Update some test cases in fts5corrupt3.test and fts5corruptB.test to account for recent updates to database and record corruption detection.

FossilOrigin-Name: a48f4cf312b8a1af03b1dc61d8475fc7448fb927e2573fa98882e7b14c065c65

2 weeks agoAdd assert()s and a testcase() to and fix and improve comments in
drh [Mon, 13 Jul 2026 14:52:13 +0000 (14:52 +0000)] 
Add assert()s and a testcase() to and fix and improve comments in
the percentSort() routine.

FossilOrigin-Name: be673351ebdeba8e78ee11941ecb3e178e4d5212ff07f1d2790320af1d52e6a0

2 weeks agoImprove documentation for sqlite3_result_zeroblob64(). No changes
drh [Sun, 12 Jul 2026 07:42:55 +0000 (07:42 +0000)] 
Improve documentation for sqlite3_result_zeroblob64().  No changes
to code.

FossilOrigin-Name: c3d307d1367ba08c9ddb9fc26c95131d3e124d7e97896383f21b48cdc154a50a

2 weeks agoImprovements to the implementation of sqlite3_result_str() so that it
drh [Sat, 11 Jul 2026 19:49:54 +0000 (19:49 +0000)] 
Improvements to the implementation of sqlite3_result_str() so that it
has 100% mutation coverage.

FossilOrigin-Name: 121f54c532d51af017d93996c40a694227064f1204429a7df1f1e2daff862eba

2 weeks agoMinor change to the "weekday N" modifier in the date/time functions
drh [Sat, 11 Jul 2026 16:14:16 +0000 (16:14 +0000)] 
Minor change to the "weekday N" modifier in the date/time functions
to facilitate 100% mutation test coverage.

FossilOrigin-Name: 76002a6f5de2dadb49ea76571fe395b9c8e261b380068fd2ea88f8326f268109

3 weeks agoNew compile-time option SQLITE_MAX_SCHEMA and runtime limit option
drh [Fri, 10 Jul 2026 15:06:05 +0000 (15:06 +0000)] 
New compile-time option SQLITE_MAX_SCHEMA and runtime limit option
SQLITE_LIMIT_SCHEMA that put an upper bound on the number of objects
in a database schema.  Current default is 10 million.

FossilOrigin-Name: 4ff362a4c2897e2b438d3d8fc88a012264526fa617f058be5a2d596c42d2e8a4

3 weeks agoEnsure that the "leaf-size" field of an fts5 record is only read from records that...
dan [Thu, 9 Jul 2026 20:56:29 +0000 (20:56 +0000)] 
Ensure that the "leaf-size" field of an fts5 record is only read from records that are actually leaves and are large enough to contain it. Bug [bugs:/info/2026-07-09T20:15:55Z | 2026-07-09T20:15:55Z].

FossilOrigin-Name: fe52900694e045231e91047fbfd82577c7fa347d7352bd048867a9e95299a0d0

3 weeks agoIn the sqlite3_rsync utility program, fix three defects identified by
drh [Thu, 9 Jul 2026 16:34:26 +0000 (16:34 +0000)] 
In the sqlite3_rsync utility program, fix three defects identified by
[bugs:/info/e2dfadf51209f12b|Bug e2dfadf51209f12b].

FossilOrigin-Name: 805f3acd2b0e81c8274680cbc4cdd6b7b9246df8075ed9caba9e2780729a2740

3 weeks agoFix an incorrect free() call in the CLI on Windows when using the -A
drh [Wed, 8 Jul 2026 20:30:22 +0000 (20:30 +0000)] 
Fix an incorrect free() call in the CLI on Windows when using the -A
command-line option.

FossilOrigin-Name: 1ce57ba94b63796d5c9b913e3973751ee4f146bdc452ce8b408d2c0cff7f598d

3 weeks agoAllow "ALTER TABLE ... DROP CONSTRAINT" to drop foreign key constraints.
dan [Wed, 8 Jul 2026 17:54:16 +0000 (17:54 +0000)] 
Allow "ALTER TABLE ... DROP CONSTRAINT" to drop foreign key constraints.

FossilOrigin-Name: 4b0882cdb5b7947b23023c13e33f532ca44c0645f6a142a3c7bdb143142d9078

3 weeks agoAllow "ALTER TABLE ... DROP CONSTRAINT" to drop foreign key constraints. drop-constraint-fk
dan [Wed, 8 Jul 2026 17:40:04 +0000 (17:40 +0000)] 
Allow "ALTER TABLE ... DROP CONSTRAINT" to drop foreign key constraints.

FossilOrigin-Name: 17c08963812d6458783720c511806727aeae263a243a11d49b463d2c7867cd54

3 weeks agoFor display modes in the CLI for which column headers are enabled,
drh [Wed, 8 Jul 2026 15:43:42 +0000 (15:43 +0000)] 
For display modes in the CLI for which column headers are enabled,
make the mode "always" instead of "on.  Improved comments and test
cases.

FossilOrigin-Name: c8aa208bf5b00f3ab93c5edd510dfd0d7edd271c064f159616ee409b308f7eb9

3 weeks agoMake the (legacy, deprecated) ".header" command in the CLI responsive to title-always-default-on
drh [Wed, 8 Jul 2026 15:34:53 +0000 (15:34 +0000)] 
Make the (legacy, deprecated) ".header" command in the CLI responsive to
the "always" title mode.  Clean up title mode and define its operation with
improved comments in the TCL interface and in the CLI.  Add the
"-title auto" option to the CLI.

FossilOrigin-Name: f94259fc07cd7856e9c6f81a46689f4f96bbf464fda7f1d11b51a308c296aca0

3 weeks agoChange the CLI so that the default "--title" is "always" instead of "on"
drh [Tue, 7 Jul 2026 14:53:53 +0000 (14:53 +0000)] 
Change the CLI so that the default "--title" is "always" instead of "on"
for some display modes.  This check-in also include a fix to "--title always"
for the "markdown" display mode.

FossilOrigin-Name: c3b0fff1b76b8c354b34fef17ff639968698e97234d6ab7af15e0e1a835486e9

3 weeks agoAdd the "--rowcount on" and "--title always" features to QRF, the CLI, and
drh [Tue, 7 Jul 2026 13:53:57 +0000 (13:53 +0000)] 
Add the "--rowcount on" and "--title always" features to QRF, the CLI, and
the TCL interface.  Make them on by default for "--style psql".

FossilOrigin-Name: 4edba31af4ef18350cb415079fb92cae0c53767fc0e74d63d404296974e75e5c

3 weeks agoCorrections to the mode matrix in the CLI psql-mode
drh [Tue, 7 Jul 2026 13:24:23 +0000 (13:24 +0000)] 
Corrections to the mode matrix in the CLI

FossilOrigin-Name: 0bca30616566d196d3cb4da1684feaf54bb38e304f4393ace322fc48c0a2f540

3 weeks agoFix a problem with --rowcount found by Claude in code review.
drh [Tue, 7 Jul 2026 13:16:30 +0000 (13:16 +0000)] 
Fix a problem with --rowcount found by Claude in code review.

FossilOrigin-Name: bc5fb05aa6e8c819cb2c45ea96538b82b5b9c21058ddf685e84d50b183656578

3 weeks agoImproved title separator in QRF when using "-title always" on an empty row.
drh [Tue, 7 Jul 2026 12:24:50 +0000 (12:24 +0000)] 
Improved title separator in QRF when using "-title always" on an empty row.
Improved comments on the mode matrix in the CLI code.  Additional test
cases.

FossilOrigin-Name: a102d28fca6376da670b274d3d733da2c73da9abe3e7128defd04b4015b03a48

3 weeks agoShow --rowcount for "--style insert". New test cases.
drh [Tue, 7 Jul 2026 11:00:10 +0000 (11:00 +0000)] 
Show --rowcount for "--style insert".  New test cases.

FossilOrigin-Name: 386c40e3a9706111542b7f336e82f7bb6e9f43c6056185f9f3bd9aae1159070a