]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
3 days agoUpdate ext/wasm/libcmpp.c for build portability improvements and doc updates. js-backup-bindings
stephan [Thu, 30 Jul 2026 12:17:33 +0000 (12:17 +0000)] 
Update ext/wasm/libcmpp.c for build portability improvements and doc updates.

FossilOrigin-Name: 48fdf51b53e9314f938fb0107ba04f6051d6c47b743c47e30c18a1be0da4015c

4 days agoAdd long-missing sqlite3_backup bindings to JS/WASM, in response to [forum:dc96ed27b3...
stephan [Wed, 29 Jul 2026 12:51:52 +0000 (12:51 +0000)] 
Add long-missing sqlite3_backup bindings to JS/WASM, in response to [forum:dc96ed27b3fdb202|forum thread dc96ed27b3]. This does not yet include tests.

FossilOrigin-Name: 90e599757416059044c643121631fc56eab2b6eea76d04b2d99eae49b8adef44

4 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

4 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

5 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

6 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

6 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

6 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

7 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

7 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

7 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

7 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

7 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

8 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

8 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

8 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

10 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

10 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

10 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

10 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

10 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

10 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

11 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

11 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

11 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

11 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

11 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

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

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

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

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

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

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

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

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

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

3 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

3 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

3 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

3 weeks agoContinuing work on --rowcount and --title always.
drh [Tue, 7 Jul 2026 00:23:38 +0000 (00:23 +0000)] 
Continuing work on --rowcount and --title always.

FossilOrigin-Name: adeb4fbb86a8a781d7efb0eecb9c84ce605d0bd45f63992bf2ecd60765a60d2c

3 weeks agoAdd new option "bRowCount" to QRF. Add QRF_Always as a possibility for
drh [Mon, 6 Jul 2026 19:24:15 +0000 (19:24 +0000)] 
Add new option "bRowCount" to QRF.  Add QRF_Always as a possibility for
bTitles.  Use these feature to enhance ".mode psql" to be a better
approximation of what psql actually does.

FossilOrigin-Name: 600c6b464050078b38cc688668148f684243e7c5f08d0aae4d5f72aa6f985482

3 weeks agoReduce divergence between ext/misc/fossildelta.c,
drh [Mon, 6 Jul 2026 16:26:30 +0000 (16:26 +0000)] 
Reduce divergence between ext/misc/fossildelta.c,
the delta code in ext/rbu/sqlite3rbu.c, and Fossil itself.

FossilOrigin-Name: 7f49a7a90eda01753c0dff65197bd7bc48a751e24a46919d30af6e2baf0788fc

3 weeks agoFix an OOB read caused by passing an out-of-range phrase number to fts5 auxiliary...
dan [Mon, 6 Jul 2026 16:04:51 +0000 (16:04 +0000)] 
Fix an OOB read caused by passing an out-of-range phrase number to fts5 auxiliary API xPhraseFirstColumn() in detail=columns mode.

FossilOrigin-Name: aeb85fdfca0a546cfd3ef26efd58b9ffc8d5fda15562558d8479dee55321596f

3 weeks agoFix a problem in the fossil-delta implementation within RBU causing it to reject...
dan [Mon, 6 Jul 2026 15:13:52 +0000 (15:13 +0000)] 
Fix a problem in the fossil-delta implementation within RBU causing it to reject some well-formed delta records. Bug [bugs:/info/2026-07-06T13:01:22Z | 2026-07-06T13:01:22Z].

FossilOrigin-Name: 0bfba3824f3d4c136db8479c97bd789fa0df7c86ba95bd0f011c569004be2166

3 weeks agoFix another buffer overread in RBU that could occur when processing an RBU database...
dan [Mon, 6 Jul 2026 14:37:08 +0000 (14:37 +0000)] 
Fix another buffer overread in RBU that could occur when processing an RBU database with corrupt rbu_control fields. Bug [bugs:/info/2026-07-06T13:01:41Z | 2026-07-06T13:01:41Z].

FossilOrigin-Name: 46c2476b1074fb56c54068dcc04cac5a3b9da3a25bc0d3b95c00439e63d6ec43

3 weeks agoFix an OOB read that could occur in RBU when using a state db with corrupt contents...
dan [Mon, 6 Jul 2026 14:10:43 +0000 (14:10 +0000)] 
Fix an OOB read that could occur in RBU when using a state db with corrupt contents. Bug [bugs:/info/2026-07-06T13:02:00Z | 2026-07-06T13:02:00Z].

FossilOrigin-Name: 9e54159f9a839f7fae3dee348fab862dc4bbe36ab866d0b3927f05fd10b1414a

3 weeks agoAvoid a (harmless) 1-byte OOB read due to malformed inputs in the
drh [Mon, 6 Jul 2026 13:43:42 +0000 (13:43 +0000)] 
Avoid a (harmless) 1-byte OOB read due to malformed inputs in the
normalize.c extension.
[bugs:/info/2026-07-06T13:02:37Z|Bug 2026-07-06T13:02:37Z]

FossilOrigin-Name: b1d7123bc619e3cb9dffa8dd52ba31cc18329b14557d8f2d9e547b729016548c

3 weeks agoReturn an error if a patchset is passed to sqlite3rebaser_configure(). This was causi...
dan [Mon, 6 Jul 2026 11:58:21 +0000 (11:58 +0000)] 
Return an error if a patchset is passed to sqlite3rebaser_configure(). This was causing a buffer overread.

FossilOrigin-Name: 887a29a8373bc3a5405df2288840c4918c045560a3a1de5303a4984eb4b40b50

3 weeks agoIn the strdup.c expension, do not invoke memcpy() with a NULL pointer
drh [Mon, 6 Jul 2026 11:34:46 +0000 (11:34 +0000)] 
In the strdup.c expension, do not invoke memcpy() with a NULL pointer
even if the count is zero.

FossilOrigin-Name: c56da4bba175cac55ea3f159520a583a8e4739dae77365ffe19e9ffcc5841804

3 weeks agoAvoid a buffer overread in the session module when an UPDATE change is rebased agains...
dan [Mon, 6 Jul 2026 08:36:48 +0000 (08:36 +0000)] 
Avoid a buffer overread in the session module when an UPDATE change is rebased against a baseline that records fewer columns than the UPDATE. Bug [bugs:/info/2026-07-05T13:57:01Z | 2026-07-05T13:57:01Z].

FossilOrigin-Name: ea26bf3cd7fb1116a8a25e767c54a49ca153c29e243b68e523d79120c5832b1d

4 weeks agoProperly handle errors from the readlink() system call in the
drh [Sun, 5 Jul 2026 19:18:33 +0000 (19:18 +0000)] 
Properly handle errors from the readlink() system call in the
fileio.c extension.
[bugs:/info/2026-07-05T12:06:32Z|Bug 2026-07-05T12:06:32Z]

FossilOrigin-Name: 85effd2ad321fb7f02b42e200ad2ba27323b0e866fa3412a56db32ab8e048df5