]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
23 hours agoRemove a stray reference to "sqlite3_checker.exe" from Makefile.msc. sqlite3_checker... master
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

26 hours 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

27 hours 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

43 hours 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

45 hours 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

46 hours 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

46 hours 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

46 hours 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

2 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

2 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

2 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

3 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

3 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

3 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

5 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

5 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

5 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

8 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

8 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

9 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

9 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

9 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

9 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

10 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

10 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

10 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

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

FossilOrigin-Name: da16fe363e2b0f8e735405a03fd0cae0796333c37d41cb323863d3803ebfdc45

10 days 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

11 days 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

12 days 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

12 days 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

13 days 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

13 days 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

3 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

3 weeks agoFix the parse_create_index() SQL function created by the incremental
drh [Sun, 5 Jul 2026 18:28:35 +0000 (18:28 +0000)] 
Fix the parse_create_index() SQL function created by the incremental
integrity_check extension so that it works for widely correct CREATE INDEX
statements.
[bugs:/info/2026-07-05T12:00:57Z|Bug 2026-07-05T12:00:57Z].
Also fix the extension so that it removes the parse_create_index() function.
Add the sqlite3_intck_register() API function so that the
parse_create_index() function can be more easily tested.

FossilOrigin-Name: bd28985523b02875b1045652fe29757e5d5519f48e6109ffebc99212314ab69c

3 weeks agoBe sure to invoke the authorizer callback on all terms of the USING clause
drh [Sun, 5 Jul 2026 16:06:33 +0000 (16:06 +0000)] 
Be sure to invoke the authorizer callback on all terms of the USING clause
in a RIGHT JOIN.
[bugs:/info/2026-07-05T08:15:45Z|Bug 2026-07-05T08:15:45Z]

FossilOrigin-Name: bbd69ce27462000873af053bfebdd305c53deac85c426b1e7dbd927b5f17d622

3 weeks agoAdd the strdup() SQL function extension for use in testing.
drh [Sat, 4 Jul 2026 15:09:52 +0000 (15:09 +0000)] 
Add the strdup() SQL function extension for use in testing.

FossilOrigin-Name: 521a7cf8443d914ae0486aa8a91924ed35a1d5b88082acbe513cef216408c97e

3 weeks agoThe jsonSkipLabel() routine, part of json_each() and json_next(), should
drh [Sat, 4 Jul 2026 12:12:16 +0000 (12:12 +0000)] 
The jsonSkipLabel() routine, part of json_each() and json_next(), should
never return an index outside of the range of bytes of the input JSONB.
[bugs:/info/2026-07-04T04:58:54Z|Bug 2026-07-04T04:58:54Z]

FossilOrigin-Name: 96072f5f872c8e62dedf48a4ba47ca5f3bd55e98b122f62199a1d0be06de95b4

3 weeks agoFix possible one-byte OOB read in the fossildelta.c extension.
drh [Sat, 4 Jul 2026 09:22:27 +0000 (09:22 +0000)] 
Fix possible one-byte OOB read in the fossildelta.c extension.
[bugs:/info/2026-07-04T04:53:59Z|Bug 2026-07-04T04:53:59Z]

FossilOrigin-Name: 8001a373d1c91f92639fb34fca18f9667f1ee92eb6bfa49df06b8cc256385292