]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
13 months agoRelax query flattener constraint (3b) and thereby allow flattening the RHS of
drh [Sat, 31 May 2025 16:17:14 +0000 (16:17 +0000)] 
Relax query flattener constraint (3b) and thereby allow flattening the RHS of
a LEFT JOIN even if the RHS contains a virtual table.  This was previously
disallowed by [9dbae1df75219e2a] as a performance optimization.  It
turns out that the constraint causes performance issues, and we do not have
a record of any performance issue that it solves.

FossilOrigin-Name: 1ddaa92057e550ea281d45d9860eafe69399224725548a93dd91c47a34e52152

13 months agoFix assert() statements in os_unix.c and os_win.c. Allow walsetlk_recover.test to...
dan [Sat, 31 May 2025 15:10:41 +0000 (15:10 +0000)] 
Fix assert() statements in os_unix.c and os_win.c. Allow walsetlk_recover.test to run in non-SQLITE_ENABLE_SNAPSHOT builds.

FossilOrigin-Name: 9f521ecda2b8d2f383cc84e308b3a4adfcf1bd6339eb834c8fa76c8704c861b7

13 months agoMove a mis-located makefile comment block.
stephan [Sat, 31 May 2025 11:08:06 +0000 (11:08 +0000)] 
Move a mis-located makefile comment block.

FossilOrigin-Name: 7d884386bec11f47c2c18002dd8c573c9b5cb6f7cdf2307a96cccead05b6abf2

13 months agotcl extension: UDFs may now 'break' to return an SQL NULL. Add the (eval -asdict...
stephan [Sat, 31 May 2025 11:02:06 +0000 (11:02 +0000)] 
tcl extension: UDFs may now 'break' to return an SQL NULL. Add the (eval -asdict) flag to use a dict, instead of an array, for the eval row data.

FossilOrigin-Name: 413a626b5c7902c1810142536c36e4ea8ee7c616ea82dfe1114199f9319091f7

13 months agoAdd some missing UNUSED_PARAMETER() annotations to squelch downstream build warnings...
stephan [Sat, 31 May 2025 09:44:00 +0000 (09:44 +0000)] 
Add some missing UNUSED_PARAMETER() annotations to squelch downstream build warnings when using -Wextra -pedantic.

FossilOrigin-Name: a98a2f49355ec39c56e571c70d377675b1bd99a6d43cf9217b0eb1e081895d8e

13 months agoFollow-up to the previous: The same optimization suppression needs to
drh [Fri, 30 May 2025 22:58:09 +0000 (22:58 +0000)] 
Follow-up to the previous:  The same optimization suppression needs to
happen if the left-hand side is coming from a LEFT JOIN.

FossilOrigin-Name: cf5b37b3a39013d8ca9de92da2289346caf52b56daff59e19b140cc586a3421f

13 months agoIf blocking locks are enabled, avoid using the busy handler when blocked by another...
dan [Fri, 30 May 2025 20:52:18 +0000 (20:52 +0000)] 
If blocking locks are enabled, avoid using the busy handler when blocked by another process running recovery.

FossilOrigin-Name: a35236757ab57c4c9b34e47c5dbc10d8f1220f8152955f5303cf9c3902ee169b

13 months agoWhen synthesizing an ON constraint from a USING or NATURAL, if the left-hand
drh [Fri, 30 May 2025 19:55:46 +0000 (19:55 +0000)] 
When synthesizing an ON constraint from a USING or NATURAL, if the left-hand
side is coming from a RIGHT JOIN, be sure to set the EP_CanBeNull flag so that
the optimizer knows to check for NULL even if the column has a NOT NULL
constraint.  Fix for the problem reported by
[forum:/forumpost/4fc70203b61c7e12|forum post 4fc70203b61]

FossilOrigin-Name: 60adc78a22956429d34ccc4e2c193c5994c11c3b3cff7901d47fad7d92dba935

13 months agoAvoid invoking the busy-handler if a blocking lock times out while attempting to...
dan [Fri, 30 May 2025 18:23:03 +0000 (18:23 +0000)] 
Avoid invoking the busy-handler if a blocking lock times out while attempting to open a snapshot transaction.

FossilOrigin-Name: fe11f85fd3283bb7002f43bd8b796e9e7b67f6d1a92eb676be06b46d1458fc1d

13 months agoConfigure-related fixes and additions, most notably integration of self-tests for...
stephan [Fri, 30 May 2025 16:08:31 +0000 (16:08 +0000)] 
Configure-related fixes and additions, most notably integration of self-tests for proj.tcl's APIs. Teaish make-install fixes based on the discussion in [forum:87e6660191a472c5 | forum thread 87e6660191a472c5].

FossilOrigin-Name: 2e486f8fd011d28fdd7e59ff34f7f04374019932eb160a8c4de56a5ce01e5782

13 months agoRandom typo fixes in JNI docs.
stephan [Fri, 30 May 2025 15:46:52 +0000 (15:46 +0000)] 
Random typo fixes in JNI docs.

FossilOrigin-Name: f63608a3847469b130e029cc569fe6f03a9053352ec43c10d69849cbab4f61c5

13 months agoUse a more robust backup definition for offsetof().
drh [Fri, 30 May 2025 15:43:04 +0000 (15:43 +0000)] 
Use a more robust backup definition for offsetof().

FossilOrigin-Name: 22441955e03df07903b98832a60c05c53721cd67c667f6c83d5e97fcc62735ee

13 months agoAdd "include <stddef.h>" to fts5 and rtree to ensure that they use the system version...
dan [Fri, 30 May 2025 11:14:11 +0000 (11:14 +0000)] 
Add "include <stddef.h>" to fts5 and rtree to ensure that they use the system version of the offsetof() macro when it is available, as the built-in version triggers ubsan errors with clang.

FossilOrigin-Name: 838deb7f3423df84061a043928ed34e1d74e2e7d57ef1a9519bb32fea82e4352

13 months agoSquelch an interesting but harmless struct initialization warning emitted after an...
stephan [Fri, 30 May 2025 10:18:09 +0000 (10:18 +0000)] 
Squelch an interesting but harmless struct initialization warning emitted after an emsdk update. Fix JS breakage introduced by changes in Emscripten 4.0.7: manually export the HEAPxyz symbols which used to be exposed by default.

FossilOrigin-Name: 10d0897cc9a5998fe1344cfbb242a78b59012e29aa3b1993895dfac26721b053

13 months agoFix the missing -lm link flag for the sqlite3 shell when building the autoconf bundle...
stephan [Thu, 29 May 2025 20:29:13 +0000 (20:29 +0000)] 
Fix the missing -lm link flag for the sqlite3 shell when building the autoconf bundle with --disable-static-shell, as reported in [forum:5adf1c932a | forum post 5adf1c932a].

FossilOrigin-Name: f6318c4a6b5a133657741c066ef2c76a71880dbc98cfff1fdd632637daf002dc

13 months agoExtend the fix for ticket [623eff57e76d45f6] so that it covers RIGHT JOIN
drh [Thu, 29 May 2025 18:44:41 +0000 (18:44 +0000)] 
Extend the fix for ticket [623eff57e76d45f6] so that it covers RIGHT JOIN
in addition to LEFT JOIN.  Problem reported by
[forum:/forumpost/7dee41d32506c4ae|forum post 2025-05-29T15:10:14Z].

FossilOrigin-Name: 29b1e1b97619d03a97ef562a5707929e241d019179b4ff1d0bc2a8c008441431

13 months agoFix a goofy hash function in Lemon. No changes to SQLite itself.
drh [Thu, 29 May 2025 17:46:34 +0000 (17:46 +0000)] 
Fix a goofy hash function in Lemon.  No changes to SQLite itself.

FossilOrigin-Name: d6cbabe23d3919d5bde6a83421cdae92125caec09d5c39a648d0305878c6a1dc

13 months agoVersion 3.50.0 version-3.50.0
drh [Thu, 29 May 2025 14:26:00 +0000 (14:26 +0000)] 
Version 3.50.0

FossilOrigin-Name: dfc790f998f450d9c35e3ba1c8c89c17466cb559f87b0239e4aab9d34e28f742

13 months agoDo not use a partial index unless the WHERE clause uses one or more columns
drh [Wed, 28 May 2025 16:56:23 +0000 (16:56 +0000)] 
Do not use a partial index unless the WHERE clause uses one or more columns
from the table being indexed.  This resolves the issue reported by
[forum:/forumpost/a8704b30f3|forum post 2025-05-28T13:03:40Z]. Test cases
are in TH3.

FossilOrigin-Name: f037ca064daeb81cb386da2a372d8e2d2dce55a3a13bc7bea4968ca51bf2843a

13 months agoDo not use a partial index if the truth of the WHERE clause does not depend silly-partial-indexes
drh [Wed, 28 May 2025 14:59:42 +0000 (14:59 +0000)] 
Do not use a partial index if the truth of the WHERE clause does not depend
on at least one column from the table being indexed.

FossilOrigin-Name: cbe2a392e45d40778570656d2ef2db43e58ad6453bd9d4b936fecfd963e22736

13 months agoSlight change to tool/split-sqlite3c.tcl to make it compatible with jimsh
drh [Mon, 26 May 2025 23:20:23 +0000 (23:20 +0000)] 
Slight change to tool/split-sqlite3c.tcl to make it compatible with jimsh

FossilOrigin-Name: fe670ddda933007386eb10facf4048ee88671f74b1fd41dfc3120beb717b8c9e

13 months agoFix a bug in the speedtest.tcl testing script that was introduced by
drh [Mon, 26 May 2025 17:29:13 +0000 (17:29 +0000)] 
Fix a bug in the speedtest.tcl testing script that was introduced by
[7e9845433ff26bdc]

FossilOrigin-Name: e4ffa86aa6ca82a42933281f6cbfca7bad702797eb8d6e684a1992e68dc1cfb7

13 months agoIn the TEA build, enable USE_TCL_STUBS on Mac platforms.
stephan [Mon, 26 May 2025 16:59:49 +0000 (16:59 +0000)] 
In the TEA build, enable USE_TCL_STUBS on Mac platforms.

FossilOrigin-Name: 0b5415151c9bf558378f83b1a60df3d3760f1aa311895af04e1fb79a8fb29e79

13 months agoOn OpenBSD, do not test fuzzcheck with ubsan as part of "make devtest".
dan [Mon, 26 May 2025 16:17:06 +0000 (16:17 +0000)] 
On OpenBSD, do not test fuzzcheck with ubsan as part of "make devtest".

FossilOrigin-Name: a3dabd599c3d3143b67258b307d352968e5f5d4ea0456940d16ae678de8c95eb

13 months agoAvoid calls to sprintf() in Lemon, since OpenBSD hates sprintf().
drh [Mon, 26 May 2025 15:36:43 +0000 (15:36 +0000)] 
Avoid calls to sprintf() in Lemon, since OpenBSD hates sprintf().

FossilOrigin-Name: ed17858ddf833b6b9c2164f31ee9138a998d28ec1564d09e20deb102eefedbc8

13 months agoWhen detecting TCLLIBDIR, skip over //zipfs paths, as the (file isdirectory) command...
stephan [Mon, 26 May 2025 15:20:57 +0000 (15:20 +0000)] 
When detecting TCLLIBDIR, skip over //zipfs paths, as the (file isdirectory) command will actually return true for those, but they're useless for installation purposes. This resolves the tea build's inability to install on stock openbsd.

FossilOrigin-Name: 5b29724a3287c9a910f303faf056d0706b66c3e6ba23f9746c11d775c631f374

13 months agotclsqlite.c doc typo fix.
stephan [Mon, 26 May 2025 07:15:20 +0000 (07:15 +0000)] 
tclsqlite.c doc typo fix.

FossilOrigin-Name: de0dfac1e5ca9d2661674c20664095386f60c77378311507fcba08111df52b38

13 months agoChange json_group_object() so that it ignores entries where the label
drh [Sat, 24 May 2025 20:20:20 +0000 (20:20 +0000)] 
Change json_group_object() so that it ignores entries where the label
is NULL.  [forum:/forumpost/e5bd251fb5|Forum post e5bd251fb5].

FossilOrigin-Name: 28215d131cd970a2756338579fb6b6091ab155be8f419505cae8ac918956165c

13 months agovtablog.c doc fixes reported in [forum:416d1e37b2|forum post 416d1e37b2].
stephan [Sat, 24 May 2025 16:01:50 +0000 (16:01 +0000)] 
vtablog.c doc fixes reported in [forum:416d1e37b2|forum post 416d1e37b2].

FossilOrigin-Name: 5d25f62bcd2d754134f608162778b49b0e71c29bd5a6f2461a07caca3d76c7de

13 months agoAmend the previous: Set SQLITE_JSON_MAX_DEPTH to 500 on *all* builds
drh [Sat, 24 May 2025 01:34:41 +0000 (01:34 +0000)] 
Amend the previous:  Set SQLITE_JSON_MAX_DEPTH to 500 on *all* builds
of fuzzcheck.

FossilOrigin-Name: c266e38c5b61f47b920027aad418b641ab32cb8a3360dbcfd9f9f29b14fd5375

13 months agoLimit JSON recursion depth to 500 when running ASAN in fuzzcheck, to prevent
drh [Fri, 23 May 2025 20:50:49 +0000 (20:50 +0000)] 
Limit JSON recursion depth to 500 when running ASAN in fuzzcheck, to prevent
stack overflow on ARM64.

FossilOrigin-Name: 5e96e177a040b46aa55492037ce5dc71ab49d66b45659d739f2ee6c3042f16ef

13 months agoAdd the --osmalloc option to the test/speedtest.tcl testing script.
drh [Fri, 23 May 2025 14:52:23 +0000 (14:52 +0000)] 
Add the --osmalloc option to the test/speedtest.tcl testing script.
Adjust ./configure so that it does not check for malloc_usable_size().

FossilOrigin-Name: 7e9845433ff26bdc5fe8654281d584394b77e3b206d09669b4468e0271c6eb37

13 months agoFix a problem with using streaming iterators with sqlite3changegroup_add_change().
dan [Thu, 22 May 2025 18:04:48 +0000 (18:04 +0000)] 
Fix a problem with using streaming iterators with sqlite3changegroup_add_change().

FossilOrigin-Name: 3dbde727146d28c316df47c7b5116be7f2476a0a0c893207c2a4ca3ab285cb5e

13 months agoClarify some malloc size computations to simplify the proof that they
drh [Mon, 19 May 2025 14:50:36 +0000 (14:50 +0000)] 
Clarify some malloc size computations to simplify the proof that they
are safe.  Remove some code associated with cygwin that is marked "#if 0".

FossilOrigin-Name: ba8184d132a935aa1980fbfb61ff308b93d433d559db4968f9014f7653ac9c6e

13 months agoMake the new sqlite3_setlk_timeout() interface accessible to loadable
drh [Mon, 19 May 2025 14:04:48 +0000 (14:04 +0000)] 
Make the new sqlite3_setlk_timeout() interface accessible to loadable
extensions.

FossilOrigin-Name: 8819b7285b71932327f47d29fa575cfb338e2fccd3f7c2023faf0575bfdb0079

13 months agoRemove stray tab characters from source files.
drh [Mon, 19 May 2025 12:46:08 +0000 (12:46 +0000)] 
Remove stray tab characters from source files.

FossilOrigin-Name: 298ff5a1dc5dbccaf6acd91731044f478a5ce522745332801708ceee996b01e6

13 months agoFix a harmless comment typo
drh [Mon, 19 May 2025 12:34:11 +0000 (12:34 +0000)] 
Fix a harmless comment typo

FossilOrigin-Name: c4d25acec3c1e28e5a4664a74c263cc0d00e118a6db4b26b51cb0d42d0f2b26f

13 months agoAdjust the tool/warnings.sh script so that it works on the latest versions
drh [Mon, 19 May 2025 11:08:30 +0000 (11:08 +0000)] 
Adjust the tool/warnings.sh script so that it works on the latest versions
of clang on Mac.

FossilOrigin-Name: 05a3dd9a179193d00968329152c8ffe6532f0cbdad7d19b47af32aebc0cd0d9e

13 months agoLatest teaish pieces, most significantly for tcl portability fixes. Move autoconf...
stephan [Sat, 17 May 2025 11:06:02 +0000 (11:06 +0000)] 
Latest teaish pieces, most significantly for tcl portability fixes. Move autoconf/teaish/autosetup/... to autosetup/teaish/. to simplify maintenance and deployment via the autoconf bundle.

FossilOrigin-Name: 381d3e82e831bedee56108fb585880d802c4d7d50b0804d909a33ff15a3be185

13 months agoMinor tcl doc update. tea-cleanups
stephan [Sat, 17 May 2025 10:35:11 +0000 (10:35 +0000)] 
Minor tcl doc update.

FossilOrigin-Name: 43259e8c3fab13b4597cdd1c670df00ec756a6fefdeb7d4ba2e0644e4ad47113

13 months agoRename feature-tests.tcl to feature.tcl. Haiku tcl portability fixes.
stephan [Sat, 17 May 2025 10:32:48 +0000 (10:32 +0000)] 
Rename feature-tests.tcl to feature.tcl. Haiku tcl portability fixes.

FossilOrigin-Name: 15bd9e581a6d6ebe281b091adc04dca4d1c7fa9bbb582bcbab8c401b4f976753

13 months agoLatest upstream teaish pieces for minor fixes. Restructure this copy of teaish to...
stephan [Sat, 17 May 2025 07:02:06 +0000 (07:02 +0000)] 
Latest upstream teaish pieces for minor fixes. Restructure this copy of teaish to simplify maintenance and the autoconf bundle build.

FossilOrigin-Name: 2b8d9b75ec5fe96cb5d06a3464fd4eb9a53018b7b548fedcd6cdbc46cdb55bdc

13 months agoImproved version of the previous check-in.
drh [Fri, 16 May 2025 18:19:11 +0000 (18:19 +0000)] 
Improved version of the previous check-in.

FossilOrigin-Name: 036c97e36cb36a2ac765a8e8539433dcb63f69155d4c24857f84faa44eed6eb5

13 months agoFix the optimization of check-in [663f5dd32d9db832] that strives to avoid
drh [Fri, 16 May 2025 17:30:20 +0000 (17:30 +0000)] 
Fix the optimization of check-in [663f5dd32d9db832] that strives to avoid
duplicate compuations in the GROUP BY clause so that it works even if the
GROUP BY term is a subquery on the RHS of a LEFT JOIN.  Problem found
by dbsqlfuzz.  Test cases in TH3.

FossilOrigin-Name: 955a026996b93e530ca5b566689cc646b31d3b9b5a5837897a58452d70f6d942

13 months agoAdd the --enablefk option to the "changeset apply" command of the
drh [Thu, 15 May 2025 18:50:19 +0000 (18:50 +0000)] 
Add the --enablefk option to the "changeset apply" command of the
changeset program.

FossilOrigin-Name: e98d46d436f8d251ae0da5ee85fd856aca3b57cd48d1be31fa6ca88fe72cad00

13 months agoEnhance the "changeset" utility program with new command-line options for
drh [Thu, 15 May 2025 17:33:32 +0000 (17:33 +0000)] 
Enhance the "changeset" utility program with new command-line options for
the "changeset apply" command.

FossilOrigin-Name: 428daca4f1b3e1a33b7e2f5acf114fa6136d46555e9947e2e88ea107bfec5e4f

13 months agoRework the showHelp() function in the CLI implementation so that its
drh [Thu, 15 May 2025 11:20:54 +0000 (11:20 +0000)] 
Rework the showHelp() function in the CLI implementation so that its
purpose and operation are well described by the header commit.  Omit
the use of enums that cause issues for MSVC 2025.

FossilOrigin-Name: 336ceeccc6f85bd78f4a26648af7edf9056d569a767b4120f125a02b2090a349

13 months agoBack out the "low-quality index" query planner hack of check-in
drh [Wed, 14 May 2025 16:40:05 +0000 (16:40 +0000)] 
Back out the "low-quality index" query planner hack of check-in
[bcac937526d9a6ef].  Subsequent query planner enhancements for dealing
with star-queries make that change unnecessary and the change was recently
found to cause a performance regression in an unrelated query.
Also fix a typo in a debugging message.

FossilOrigin-Name: e7dcf25efae364b7cdf9eb8265803c816c8b8557e4a7684da428badc6ffb3875

13 months agoFix trunk fork.
drh [Tue, 13 May 2025 19:06:11 +0000 (19:06 +0000)] 
Fix trunk fork.

FossilOrigin-Name: 53644c42c5ee40e905a72bb014515e5e30265577d543eeca09139800822b5b42

13 months agoAdjust the strftime() test in test/date4.test to remove flags not supported in musl...
stephan [Tue, 13 May 2025 18:58:56 +0000 (18:58 +0000)] 
Adjust the strftime() test in test/date4.test to remove flags not supported in musl libc if that environment is detected.

FossilOrigin-Name: fc254c1eb784c79a371bf961945a18a680982cdcd3fdcd7e6bb481712fe21cf8

13 months agoFirst cut at enhancing the fsdir virtual table so that it works with
drh [Tue, 13 May 2025 16:58:36 +0000 (16:58 +0000)] 
First cut at enhancing the fsdir virtual table so that it works with
unicode characters on Windows.

FossilOrigin-Name: c9e04dadfdf6c860631ce5603693add565ff2033aa25af5736302af7045fc91e

13 months agoOmit the unused readdir_r() routine from test_windirent.c
drh [Tue, 13 May 2025 15:09:13 +0000 (15:09 +0000)] 
Omit the unused readdir_r() routine from test_windirent.c

FossilOrigin-Name: f9a216e3ad1b3bc9be350aad5ef3dc8b3534d3ee67d160bfedda81a61295320c

13 months agoSession extension doc typo fix reported in [forum:75e9408acb|forum post 75e9408acb].
stephan [Mon, 12 May 2025 19:12:50 +0000 (19:12 +0000)] 
Session extension doc typo fix reported in [forum:75e9408acb|forum post 75e9408acb].

FossilOrigin-Name: b96cfff52b4f364388f168198e999ae2407c4afbc7b020f8bb350ab103ffb55c

13 months agoFix a coding mistake in vfstrace.
drh [Mon, 12 May 2025 11:48:39 +0000 (11:48 +0000)] 
Fix a coding mistake in vfstrace.

FossilOrigin-Name: f0054cc0bce4ed735796da1ea68b7773a582042bdd60fdae4e1af4c592104d15

13 months agoRemove a redundant typedef from the sqlite3_rsync.c source file.
drh [Sun, 11 May 2025 10:48:10 +0000 (10:48 +0000)] 
Remove a redundant typedef from the sqlite3_rsync.c source file.

FossilOrigin-Name: b4c37c6bcc644e21a29955e31151ea22a07627e524ce913afd3d2d6eeb7e0bb6

13 months agoProvide the SQLITE_BUG_COMPATIBLE_20250510 compile-time option that restores
drh [Sat, 10 May 2025 17:09:53 +0000 (17:09 +0000)] 
Provide the SQLITE_BUG_COMPATIBLE_20250510 compile-time option that restores
the JSON5 bug fixed in the previous check-in, in case some applications need
it for legacy compatibility.

FossilOrigin-Name: 491cf31904fdbc9567b838d1ba27901e75f8ea3a117043017d08354bb09f9711

13 months agoAdd enforcement of the obscure JSON5 syntax rule that the &#92;0 escape
drh [Sat, 10 May 2025 15:53:17 +0000 (15:53 +0000)] 
Add enforcement of the obscure JSON5 syntax rule that the &#92;0 escape
sequence must not be followed by a digit.
[forum:/forumpost/c061e87faf7d1c55|Forum post c061e87faf].

FossilOrigin-Name: 83c7477f2b9b0d6cb54cf6b14bf3c8ef4807e4bddc7986d275cf6717da8606b7

14 months agoFix PRAGMA trusted_schema=OFF and similar so that it restricts the kinds
drh [Thu, 8 May 2025 16:18:18 +0000 (16:18 +0000)] 
Fix PRAGMA trusted_schema=OFF and similar so that it restricts the kinds
of functions in CHECK constraints that the documentation says it does.  It
was letting through some function that it ought not have.  This is a
defect in [5720924cb07766cd].  See
[forum:/forumpost/3fa9d44c0b381342|forum thread 2025-05-08T08:50Z].
Additional test cases will be added separately.

FossilOrigin-Name: 25920beebf71ebc9a1bb9f56932280c9e03390f26fe9da2258f950979b238ce6

14 months agoInternal doc typo fix. No code changes.
stephan [Thu, 8 May 2025 13:51:55 +0000 (13:51 +0000)] 
Internal doc typo fix. No code changes.

FossilOrigin-Name: ac2aa39f7e3ae7ac921fac6566186939a1282f80ced5b3e3d5006a77ecf583ff

14 months agoFix a harmless warning about and oversize shift operation on malformed JSONB
drh [Wed, 7 May 2025 17:13:30 +0000 (17:13 +0000)] 
Fix a harmless warning about and oversize shift operation on malformed JSONB
inputs.  [https://issues.oss-fuzz.com/issues/415850463|OSSFuzz 415850463].

FossilOrigin-Name: cf8b55b3b6f0b73158e21731a206d5a8d8d9892989d91171a11c6dbbee34b338

14 months agoAdd test cases for the NOT NULL/IS NULL optimization in CHECK constraints fix.
dan [Tue, 6 May 2025 17:56:32 +0000 (17:56 +0000)] 
Add test cases for the NOT NULL/IS NULL optimization in CHECK constraints fix.

FossilOrigin-Name: 6eb2939a6093c0796910645172d80c53055559dd57c012f1dc815d89fbf84447

14 months agoFix a bug in the NOT NULL/IS NULL optimization of check-in [cb94350185f555c3]
drh [Tue, 6 May 2025 17:53:27 +0000 (17:53 +0000)] 
Fix a bug in the NOT NULL/IS NULL optimization of check-in [cb94350185f555c3]
that can cause invalid data to be used for a column if that column has a
CHECK constraint that includes the NOT NULL or IS NULL operator.
Problem discovered by the
[https://issues.chromium.org/issues/415397143|Chromium fuzzer].  Never
seen in the wild, as far as anybody knows.

FossilOrigin-Name: 2adaee9aa90f280a406007695fbc4a314806584c93d6b62b46c031492b31ec27

14 months agoFix the sqlite3VdbeTypeofColumn() function so that it works correctly
drh [Tue, 6 May 2025 16:28:44 +0000 (16:28 +0000)] 
Fix the sqlite3VdbeTypeofColumn() function so that it works correctly
even when SQLITE_DEBUG is defined.

FossilOrigin-Name: 1d5021533ed688d7a815ce75b338c72f577c14554027f88a21419935a9e68239

14 months agoFix console-I/O on Windows for DEBUG=3 builds. Broken by
drh [Tue, 6 May 2025 15:39:39 +0000 (15:39 +0000)] 
Fix console-I/O on Windows for DEBUG=3 builds.  Broken by
[925e97e6f4238f02].

FossilOrigin-Name: ccef4f7058928943be9204b2e53baaf791021e78e538396ba9f2a1d76323e8cf

14 months agoEnhance sqlite3_rsync so that if the first attempt to invoke a copy
drh [Sat, 3 May 2025 15:17:21 +0000 (15:17 +0000)] 
Enhance sqlite3_rsync so that if the first attempt to invoke a copy
of itself on the remote system using ssh fails, try again after
augmenting the PATH.  This enables sqlite3_rsync to work without the
--exe option when the remote system is a Mac.

FossilOrigin-Name: 38d4c94d8c7802101ef3bfb411002f9497fdbbbd2b4d3514cef5b76ffd66f75b

14 months agoFix a harmless redundant variable declaration in sqlite3_rsync.
drh [Sat, 3 May 2025 10:55:47 +0000 (10:55 +0000)] 
Fix a harmless redundant variable declaration in sqlite3_rsync.

FossilOrigin-Name: f8f15eff6ae50d569ed13a3b18f33eaa43453c0cb80b6007df38e880b62f45d0

14 months agoAddition summary results output when using -vvv on sqlite3_rsync.
drh [Sat, 3 May 2025 10:49:39 +0000 (10:49 +0000)] 
Addition summary results output when using -vvv on sqlite3_rsync.

FossilOrigin-Name: c702999cfac37fdcae64d261408e58d1f49fee65434fe346db6a2a6c7f8ac54e

14 months agoPromote the --protocol option to sqlite3_rsync from being an undocumented
drh [Sat, 3 May 2025 10:35:32 +0000 (10:35 +0000)] 
Promote the --protocol option to sqlite3_rsync from being an undocumented
debug option to being a supported and user-visible option.  This is
sometimes needed to work around bugs in prior versions running on the
remote.

FossilOrigin-Name: 4855e04e44e8fce2d6e37dd468eb6e9f4565c36cbc964156e65ac0449d7c212f

14 months agoEnhance sqlite3_rsync (in a backwards-compatible way) so that it has the
drh [Sat, 3 May 2025 08:17:46 +0000 (08:17 +0000)] 
Enhance sqlite3_rsync (in a backwards-compatible way) so that it has the
ability to send hashes for blocks of pages in addition to individual pages.
By judicious use of this capability, network bandwidth requirement to sync two
similar databases is reduced.

FossilOrigin-Name: e5d87aaa8fe1e8c8cb63813d26851183e77809a3d36e4c16c37f88b4b4724d6d

14 months agoImprovements to protocol negotiation. faster-rsync
drh [Sat, 3 May 2025 07:00:51 +0000 (07:00 +0000)] 
Improvements to protocol negotiation.

FossilOrigin-Name: 4f5a06e42010c3e047429f736ffb8e2e89a1eb599277c176945b57710f6713ca

14 months agoClean up command-line parsing. Add the undocumented
drh [Fri, 2 May 2025 23:50:30 +0000 (23:50 +0000)] 
Clean up command-line parsing.  Add the undocumented
-protocol option for debugging.

FossilOrigin-Name: 2a52b174e6e91cd7cfca0b20b39cdd231f377c7bc073f4223574556b94b16aa5

14 months agoNow appears to be working. More testing needed. Refinement of the
drh [Fri, 2 May 2025 22:25:40 +0000 (22:25 +0000)] 
Now appears to be working.  More testing needed.  Refinement of the
version-2 algorithm needed.

FossilOrigin-Name: cb035181d9fb5909696b8ec8f9c3eeb7a7dfb4b50e82e1d3f2d5ad150afcc0ff

14 months agoBug fixes. Added new debugging features to better visualize the
drh [Fri, 2 May 2025 18:32:46 +0000 (18:32 +0000)] 
Bug fixes.  Added new debugging features to better visualize the
protocol.

FossilOrigin-Name: c70330668690e7c3c55ae34137d5b2c91871432004b82b2b23a89fc3f1322a62

14 months agoThis is the start of an experiment in getting sqlite3_rsync to use less
drh [Fri, 2 May 2025 17:39:21 +0000 (17:39 +0000)] 
This is the start of an experiment in getting sqlite3_rsync to use less
bandwidth when the two databases are very similar, by sending hashes
over blocks of pages initially, rather than over individual pages, then
requesting more detail when hashes do not match.

FossilOrigin-Name: 266b4b8f0104bd4b1cff87ed78b0223006bf661a9650294a2b330d50c7ee8a0c

14 months agoDo not allow sqlite3_rsync to convert the replica from WAL-mode into
drh [Fri, 2 May 2025 11:18:09 +0000 (11:18 +0000)] 
Do not allow sqlite3_rsync to convert the replica from WAL-mode into
DELETE-mode, as that can disrupt existing clients on the replica side.
DELETE-mode to WAL-mode conversions are allowed, however.  See
[forum:/forumpost/6b575b66156673ee|forum thread 6b575b66156].

FossilOrigin-Name: 660a035b6ce6684d429b882133e032181cc1664f4efadf1bc0e4ae27d45071c4

14 months agoEnhance sqlite3_rsync so that, by default, it will sync non-WAL-mode
drh [Thu, 1 May 2025 18:07:27 +0000 (18:07 +0000)] 
Enhance sqlite3_rsync so that, by default, it will sync non-WAL-mode
database files.  Add a new command-line option --wal-only that restricts
the sync to WAL-mode databases only (the former default).  Improve
command-line option parsing so that only a single "-" is required before
each option.

FossilOrigin-Name: 4b53603fe468c0c28b818762917e41bdd870de6d4cc143688f1cdea3136c81a4

14 months agoAllow sqlite3_rsync to work on non-WAL-mode databases, as long as the rsync-non-wal-mode
drh [Thu, 1 May 2025 16:07:52 +0000 (16:07 +0000)] 
Allow sqlite3_rsync to work on non-WAL-mode databases, as long as the
--wal-only flag is not used.

FossilOrigin-Name: e4126dcd1eba4f040a7c07102d34692287b74b41a3437a3b9d15c4f8c9d4e6fd

14 months agoFix a harmless problem in the CLI in which SQL errors that occur during
drh [Wed, 30 Apr 2025 14:37:00 +0000 (14:37 +0000)] 
Fix a harmless problem in the CLI in which SQL errors that occur during
the ".schema" command are properly ignored, yes still appear in the ".log"
output. [forum:/forumpost/42fe6520b803be51|Forum post 42fe6520b8]

FossilOrigin-Name: 20abf1ec107f942e4527901685d61283c9c2fe7bcefad63dbf5c6cbf050da849

14 months agoFix an issue in Bloom filters on RHS subsqueries to IN operators.
drh [Wed, 30 Apr 2025 12:48:20 +0000 (12:48 +0000)] 
Fix an issue in Bloom filters on RHS subsqueries to IN operators.
See [forum:/forumpost/792a09cb3df9e69f|forum post 792a09cb3d] for
a description of the problem.  Also improve comments related
to [baa83b460c677c21] which was origin of the problem.

FossilOrigin-Name: cdef486e212fe4b26605065d9cff08f608cb80df48ee64e4be63637769bdfacc

14 months agoUpstream teaish for a tcl portability fix on Haiku and a much nicer impl of proj...
stephan [Tue, 29 Apr 2025 17:30:51 +0000 (17:30 +0000)] 
Upstream teaish for a tcl portability fix on Haiku and a much nicer impl of proj-tclConfig-sh-to-autosetup.

FossilOrigin-Name: ca0d30a43b3dfb95dd6b491f592031a053b0b5e95361ffe01ec8bd56d5e2d110

14 months agoRemove the run-fuzzcheck makefile targets, since testrunner now
drh [Tue, 29 Apr 2025 16:30:58 +0000 (16:30 +0000)] 
Remove the run-fuzzcheck makefile targets, since testrunner now
accomplishes that for us, and does a better job of it.

FossilOrigin-Name: 3ffd867ed31cd0779aa92b5e8b71592a8e7224977f9da8e5d6793a78bbb80070

14 months agoAdd the "--fuzzdb FILENAME" to testrunner.tcl as an alternative to setting
drh [Tue, 29 Apr 2025 14:23:21 +0000 (14:23 +0000)] 
Add the "--fuzzdb FILENAME" to testrunner.tcl as an alternative to setting
the FUZZDB environment variable (as that can be awkward to do on Windows).
Further improvements to the testrunner.tcl documentation.

FossilOrigin-Name: 6fb84156a262ff89d1a2d1df6fbfac4c1a43fb55b9d15205508662e2c9b0894f

14 months agoUpdate testrunner.tcl documentation. Fix typo in testrunner.tcl output.
drh [Tue, 29 Apr 2025 11:35:51 +0000 (11:35 +0000)] 
Update testrunner.tcl documentation.  Fix typo in testrunner.tcl output.

FossilOrigin-Name: ba8800b4ba0a690c89d9fb96bb9a0d8789d04160ff9c47ea9afb2b403bec7f0b

14 months agoImproved --explain display of FUZZDB test plans in testrunner.tcl.
drh [Tue, 29 Apr 2025 10:41:16 +0000 (10:41 +0000)] 
Improved --explain display of FUZZDB test plans in testrunner.tcl.

FossilOrigin-Name: 42bdd7262ec4f8163263e0535c2cc35b526754d77e1f3ccf5b73b0f44d470d9c

14 months agoDo not run FUZZDB on either Windows-Memdebug or Windows-Win32Heap.
drh [Tue, 29 Apr 2025 10:29:35 +0000 (10:29 +0000)] 
Do not run FUZZDB on either Windows-Memdebug or Windows-Win32Heap.

FossilOrigin-Name: 10d8401d59136dda7051af0da398b06a18031560f2734f4fa347d339765d2089

14 months agoMake testrunner.tcl more restrictive about which configurations run
drh [Tue, 29 Apr 2025 01:37:31 +0000 (01:37 +0000)] 
Make testrunner.tcl more restrictive about which configurations run
fuzzcheck-asan and fuzzcheck-ubsan.

FossilOrigin-Name: 785599394dde0fb36ae2e07d611f9523a05a0817dbd8c416582b3b682dbfa4ff

14 months agoTestrunner.tcl now runs fuzzcheck-asan and fuzzcheck-ubsan tests.
drh [Mon, 28 Apr 2025 19:15:46 +0000 (19:15 +0000)] 
Testrunner.tcl now runs fuzzcheck-asan and fuzzcheck-ubsan tests.

FossilOrigin-Name: 3d8f3a255843c063157265702b76d40c38c774d29d658eea2d77efac92ac8789

14 months agoIf the FUZZDB environment variable is set when running testrunner.tcl and
drh [Mon, 28 Apr 2025 17:56:23 +0000 (17:56 +0000)] 
If the FUZZDB environment variable is set when running testrunner.tcl and
that env-var points to a fuzzcheck database, then suppliment the fuzzcheck
tests with that extra database.

FossilOrigin-Name: c08530dd6a71cb547d164e2313657c917f280e7988211bf199c8776e78a4e2a6

14 months agoEnhance testrunner.tcl so that it does not build testfixture unnecessarily -
drh [Mon, 28 Apr 2025 16:28:00 +0000 (16:28 +0000)] 
Enhance testrunner.tcl so that it does not build testfixture unnecessarily -
if the pattern does not match any TCL test.

FossilOrigin-Name: 896d767f1cba64bda7b91b0daebd60ebe4457a58d762da443bf61cf5b39ad2d9

14 months agoFix testrunner.tcl so that it honors pattern matches in non-testfixture
drh [Mon, 28 Apr 2025 16:17:17 +0000 (16:17 +0000)] 
Fix testrunner.tcl so that it honors pattern matches in non-testfixture
tests, such as fuzzcheck and sessionfuzz.

FossilOrigin-Name: 81857474fe90f50b760c22d61a6ad477642dabe1052390cd1614dcec8adb1376

14 months agoRemove a stray blank line from the test/testrunner.tcl script.
drh [Mon, 28 Apr 2025 15:00:28 +0000 (15:00 +0000)] 
Remove a stray blank line from the test/testrunner.tcl script.

FossilOrigin-Name: 7d6005b0d17d86d72757f3578872e82fd12f61ac9160a0277e397df09f6338a9

14 months agoRemove long-obsolete performance testing scripts from the tools/ folder.
drh [Mon, 28 Apr 2025 13:32:46 +0000 (13:32 +0000)] 
Remove long-obsolete performance testing scripts from the tools/ folder.
The test/speedtest.tcl script is what should be used these days.  This
is just cruft clean-up.

FossilOrigin-Name: 956af8c294ae5b826a5b645922df07dad360290d19bf2b6a7f74d0a783a3e692

14 months agotea: pull in upstream teaish. Consolidate the build definition from the upstream...
stephan [Mon, 28 Apr 2025 09:25:19 +0000 (09:25 +0000)] 
tea: pull in upstream teaish. Consolidate the build definition from the upstream build and this one to ease maintenace. Improve compatibility with historical TEA usage of --with-tcl=... (it insists on a /lib suffix for that path).

FossilOrigin-Name: 0ea5993dd8549056d73f3d5447e0a810495ece23a75be8add78fba6842125d85

14 months agoproj.tcl: correct the auto-reconfigure rules to include any X=Y passed to configure...
stephan [Sun, 27 Apr 2025 06:01:26 +0000 (06:01 +0000)] 
proj.tcl: correct the auto-reconfigure rules to include any X=Y passed to configure. Improve handling of quoted CFLAGS.

FossilOrigin-Name: 7a2f4f319c90b768c6acc96671a3173c0ef0493180f3c4d5443f1ca03d92f6b4

14 months agoautoconf/tea: the default value of --threadsafe=X is now based on a pkgconfig query...
stephan [Sun, 27 Apr 2025 04:21:27 +0000 (04:21 +0000)] 
autoconf/tea: the default value of --threadsafe=X is now based on a pkgconfig query using the target tclsh, which is much more reliable than grepping Tcl's linker flags. Doc touchups.

FossilOrigin-Name: 4aeec30443b282f10353cdb9415fdce436287280f0f5d5d6b9917da831744898

14 months agoFix an off-by-one error in an assert(), discovered by oss-fuzz. This is a
drh [Fri, 25 Apr 2025 12:39:32 +0000 (12:39 +0000)] 
Fix an off-by-one error in an assert(), discovered by oss-fuzz.  This is a
harmless error in as much as assert()s are disabled in production builds, and
because the off-by-one only occurs on nonsensical CREATE INDEX statements.

FossilOrigin-Name: 3e627d66ebdef8dfe41bd12a0474d1afca9f50051771774679d25bd1833e69ae

14 months agoTeaish internal API tweaks and ensure that -encoding utf-8 is used when source'ing...
stephan [Fri, 25 Apr 2025 11:27:13 +0000 (11:27 +0000)] 
Teaish internal API tweaks and ensure that -encoding utf-8 is used when source'ing test scripts.

FossilOrigin-Name: f878f578f8fac95a939e3eabe8b64d5627d2ccd98de1e28081b9bca42ffee027

14 months agoUpstream teaish fixes and improvements.
stephan [Wed, 23 Apr 2025 14:54:13 +0000 (14:54 +0000)] 
Upstream teaish fixes and improvements.

FossilOrigin-Name: 235ea2c0e1823fe4324c3890069a9131ebb6de14e55eb56c0e9f42a7e491a699

14 months agoFix a problem in the fts5matchinfo.test file that prevented it from
drh [Tue, 22 Apr 2025 18:45:40 +0000 (18:45 +0000)] 
Fix a problem in the fts5matchinfo.test file that prevented it from
working on Mac.

FossilOrigin-Name: 5a411c609ba0ee17b1ce5bd0b40b9ded92d76f35933f92b2e02a58a3f169c715

14 months agoLatest upstream jimtcl to fix rare segfault cases.
stephan [Tue, 22 Apr 2025 09:29:53 +0000 (09:29 +0000)] 
Latest upstream jimtcl to fix rare segfault cases.

FossilOrigin-Name: b6c5516940851bd17706435148253325d1b912a44ae138d2b8ca33e5167418c7