]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
9 months agoThe debugging output for WhereLoop objects now shows cost star-query-heuristic
drh [Fri, 24 Jan 2025 16:27:18 +0000 (16:27 +0000)] 
The debugging output for WhereLoop objects now shows cost
estimate changes due to the star-query heuristic.

FossilOrigin-Name: a280f5f5480e560fc2b80e8947d8062e8b3487d930e71cb60fc9ba90d87977c1

9 months agoMinor tweaks to the star-query detection and processing.
drh [Fri, 24 Jan 2025 15:55:20 +0000 (15:55 +0000)] 
Minor tweaks to the star-query detection and processing.

FossilOrigin-Name: 61f76a45ac7aa454419fd7539a3d8e60f0733fb5a2abd034d795328f3c1b6e9b

9 months agoWhen looking for star-queries, do not count a table as a dimension table
drh [Fri, 24 Jan 2025 14:51:15 +0000 (14:51 +0000)] 
When looking for star-queries, do not count a table as a dimension table
if that table is separated from the fact table by an OUTER or CROSS join
or if the table is a self-join.

FossilOrigin-Name: 5aebd7df0d577e98b3affd22b84b42dfe84a9f37fa29187505cc245b95460ba4

9 months agoFix a possible infinity loop in debugging-printf logic in the query planner.
drh [Thu, 23 Jan 2025 21:06:59 +0000 (21:06 +0000)] 
Fix a possible infinity loop in debugging-printf logic in the query planner.
No changes to production code.

FossilOrigin-Name: 9a20b94080f5379867530772e081b737ae4cf6b416469dcabb85b8dd819f491f

9 months agoWhen running wasm-opt, ignore any failure because it will fail for unknown flags...
stephan [Thu, 23 Jan 2025 19:44:09 +0000 (19:44 +0000)] 
When running wasm-opt, ignore any failure because it will fail for unknown flags and the set of legal flags will change from version to version.  Document the size-reduction effect (or non-effect) of a dozen-odd wasm-opt flags and retain those which demonstrate a wasm file size reduction in -Oz builds (our production build mode). Total size savings: roughly 13kb.

FossilOrigin-Name: c9dc581e0287e3462ac55f80ca76e7e98d31157022052c892517363c45287a7b

9 months agoRemove some now-dead makefile code, rename a var for consistency, and fix a recipe...
stephan [Thu, 23 Jan 2025 16:11:24 +0000 (16:11 +0000)] 
Remove some now-dead makefile code, rename a var for consistency, and fix a recipe bug introduced in the previous checkin in the bundler-friendly build.

FossilOrigin-Name: 0acd4ef3addb311476f4a670be0c4c4a0f3f88b0420886d4c1c3c3027dd51d73

9 months agoInitial support for post-processing wasm files with wasm-opt (if it's available)...
stephan [Thu, 23 Jan 2025 15:58:01 +0000 (15:58 +0000)] 
Initial support for post-processing wasm files with wasm-opt (if it's available). This currently shaves 12kb off of the release-mode build of sqlite3.wasm but there are many dozens of wasm-opt flags left to try.

FossilOrigin-Name: 5d16e3f28364de2d6b6456a6fc56bf604b9106c3ae15719f2862192ae3020cc1

9 months agoMove small parts of ext/wasm/GNUmakefile into ext/wasm/config.make.in and have the...
stephan [Thu, 23 Jan 2025 14:09:02 +0000 (14:09 +0000)] 
Move small parts of ext/wasm/GNUmakefile into ext/wasm/config.make.in and have the configure script populate that, rather than dynamically determining those values on each 'make' invocation. Add a configure-time check for the optional wasm-opt binary in prep for pending experimentation with using it to reduce the wasm file sizes.

FossilOrigin-Name: 0a426a549577b883e2de7cd0605041cc97b57f53ee6657bc318b0bfde7b62677

9 months agoRemove unnecessary --minify 0 emcc flag from the wasm build, as -g3 implies that...
stephan [Thu, 23 Jan 2025 11:21:29 +0000 (11:21 +0000)] 
Remove unnecessary --minify 0 emcc flag from the wasm build, as -g3 implies that capability along with other anti-minification features we rely on.

FossilOrigin-Name: 10c91f9cd074e8d35af1c7f8251ac18e5dd91fa14df3fe4e1fb44441c4f08c7a

9 months agoDo not strip binaries during 'make install', for consistency with the legacy build...
stephan [Thu, 23 Jan 2025 06:10:54 +0000 (06:10 +0000)] 
Do not strip binaries during 'make install', for consistency with the legacy build and per request from package maintainers.

FossilOrigin-Name: cd3fed5c2082c250c32c4d99eecd49a1ab840583fc343bcfd27fb536715d0ce9

9 months agoReplace the use of the Autools in ./autoconf/ with Autosetup and extend its configure...
stephan [Wed, 22 Jan 2025 21:34:53 +0000 (21:34 +0000)] 
Replace the use of the Autools in ./autoconf/ with Autosetup and extend its configure script to include many of the flags available in the canonical build.

FossilOrigin-Name: 8c60d4c901af716d4d4dfd1dd4aa626c758fac2cb46112b24b0838b7888fc66f

9 months agoAdd the -q/--quiet option to test/speedtest.tcl. Automatically enable
drh [Wed, 22 Jan 2025 17:18:53 +0000 (17:18 +0000)] 
Add the -q/--quiet option to test/speedtest.tcl.  Automatically enable
-DSQLITE_OMIT_LOAD_EXTENSION and -DSQLITE_THREADSAFE=0 so that no extra
libraries are required.

FossilOrigin-Name: c20d21b473d8a45267262c5df1d7b102eccce8e4cfbe1e467ea66c474aea0af5

9 months agoFix date/time computations to deal with the sub-millisecond rounding
drh [Tue, 21 Jan 2025 17:37:58 +0000 (17:37 +0000)] 
Fix date/time computations to deal with the sub-millisecond rounding
problem identified in [forum:/forumpost/766a2c9231|forum post 766a2c9231].

FossilOrigin-Name: afb0a5923a6db4045fab5226198aab970d746d4866294ebba943c6986e97ecde

9 months agoPerformance improvements to the (debug-use only) Mem.pScopyFrom logic, resulting
drh [Tue, 21 Jan 2025 16:30:55 +0000 (16:30 +0000)] 
Performance improvements to the (debug-use only) Mem.pScopyFrom logic, resulting
in about 8x faster performance under -DSQLITE_DEBUG for the query in from
[forum:/forumpost/0025389d0860af82|forum post 0025389d0860af82].  This change
only affects builds that use -DSQLITE_DEBUG.

FossilOrigin-Name: 7fb1ae25d1572dd7709a0f850c148a5f745a524f01ea231e29a1ebc37c173fb9

9 months agoExplain the lack of docs in autoconf/Makefile.in and refer interested readers to... autoconf-to-autosetup
stephan [Tue, 21 Jan 2025 15:45:03 +0000 (15:45 +0000)] 
Explain the lack of docs in autoconf/Makefile.in and refer interested readers to main.mk in canonical tree. Minor cleanups and fixes in tool/mkautoconfamal.sh.

FossilOrigin-Name: e5bbc2428f1000a451c1b4afd287742b9896a1a6c82d9706c6b8e7d6fb3b1e44

9 months agoThe FuncDev.nArg field values -3 and -4 now have special meansing of 1 or more
drh [Tue, 21 Jan 2025 15:12:00 +0000 (15:12 +0000)] 
The FuncDev.nArg field values -3 and -4 now have special meansing of 1 or more
or 2 or more arguments, respectively.  This saves space in the built-in
function table, resulting in slightly faster performance and a reduced binary
size.

FossilOrigin-Name: 753fd747f24c5e9a019eb00b8a4f66e65c6733ba10a7adbd1b55786867c32ca6

9 months agoRemove now-extraneous autoconf/INSTALL and autoconf/configure.ac and update autoconf...
stephan [Tue, 21 Jan 2025 14:40:35 +0000 (14:40 +0000)] 
Remove now-extraneous autoconf/INSTALL and autoconf/configure.ac and update autoconf/README.* to account for the port to autosetup.

FossilOrigin-Name: 646667af8ca2140d823facf4578105c3d9815ea34b2a4cb96103c2fe7d718229

9 months agoHave fts5 better handle OOM errors from sqlite3_blob_close().
dan [Tue, 21 Jan 2025 14:34:59 +0000 (14:34 +0000)] 
Have fts5 better handle OOM errors from sqlite3_blob_close().

FossilOrigin-Name: f418350f3f83147bc5817a885be6e39ff9ff5722742a88d17600729c53c65010

9 months agoUse Tcl_GetString() instead of Tcl_GetCharLength() to test for a zero-length
drh [Tue, 21 Jan 2025 11:10:16 +0000 (11:10 +0000)] 
Use Tcl_GetString() instead of Tcl_GetCharLength() to test for a zero-length
string in the TCL interface, since that is much more efficient.

FossilOrigin-Name: a8d9dcfd23fbfcd887e451382836c1e88215984cc01e00be11387dbf4ab26fd8

9 months agoconfigure script: work around msys's inability to 'exec' a '.sh' file by prefixing...
stephan [Mon, 20 Jan 2025 20:48:18 +0000 (20:48 +0000)] 
configure script: work around msys's inability to 'exec' a '.sh' file by prefixing the call with an explicit 'sh', as reported in [forum:befb352a42a7cd6d|forum post befb352a42a7cd6d].

FossilOrigin-Name: 25b01f1c9a5e606441bfd4e729fb88361436dffc76ef7a10c04a4d4ad0bcc655

9 months agoAdd 'dist' and missing 'install' pieces to the autoconf bundle.
stephan [Mon, 20 Jan 2025 19:57:32 +0000 (19:57 +0000)] 
Add 'dist' and missing 'install' pieces to the autoconf bundle.

FossilOrigin-Name: 16fa20413e3f3f0b6ea5d97022945843d1f785ac0142836f2a3651fd1917385f

9 months agoRemove an assert() in the unix file locking logic that is not true
drh [Mon, 20 Jan 2025 19:19:31 +0000 (19:19 +0000)] 
Remove an assert() in the unix file locking logic that is not true
if alternative VFS "unix-excl" is used for a read-only connection.

FossilOrigin-Name: bd5dc92368e41231a07bb59dd3db8942e238129ec7a3c8d785459d9b62bfcba3

9 months agoFix an assert() that could fail if a virtual table called sqlite3_step() from within...
dan [Mon, 20 Jan 2025 18:26:58 +0000 (18:26 +0000)] 
Fix an assert() that could fail if a virtual table called sqlite3_step() from within the xSync() method while committing a "PRAGMA defer_foreign_keys=1" transaction.

FossilOrigin-Name: 39bdbb3f6dd1d30d180526d35c11f789f5e9d45b99ead72fd4a3b136afab66b1

9 months agoconfigure script: remove an overzealous is-a-file check in the tclsh search which...
stephan [Mon, 20 Jan 2025 16:14:09 +0000 (16:14 +0000)] 
configure script: remove an overzealous is-a-file check in the tclsh search which fails to account for implicit .exe extensions on Windows builds. Reported in [forum:c27403ef974df9f1|forum post c27403ef974df9f1]. (Same change as [89306d1a4905] but to a different file, as that content was moved since the 3.48 release.)

FossilOrigin-Name: 239a3d1573f4cb720308018280b2add54034e69e38fe7060a7238875eee4f1c9

9 months agoGet libsqlite3.so and .a building in the autoconf bundle.
stephan [Sun, 19 Jan 2025 21:47:06 +0000 (21:47 +0000)] 
Get libsqlite3.so and .a building in the autoconf bundle.

FossilOrigin-Name: 88cee3fc7c8bfd9b6955fb6b2fd6b25660563e4d043ffa5ea18d8abe91afdb7f

9 months agoGet the CLI shell building in the autoconf bundle.
stephan [Sun, 19 Jan 2025 19:51:47 +0000 (19:51 +0000)] 
Get the CLI shell building in the autoconf bundle.

FossilOrigin-Name: 241cdbc40a2f82df53c149849a103a335b0643a65e229a1e80ab90a0e457bb6b

9 months agoAdd an SQLITE_TESTCTRL_OPTIMIZATION mask that can disable the query planner
drh [Sun, 19 Jan 2025 19:14:21 +0000 (19:14 +0000)] 
Add an SQLITE_TESTCTRL_OPTIMIZATION mask that can disable the query planner
heuristics that are designed to help with star queries.

FossilOrigin-Name: fec4ff185a2f3f1bee8f27432206276636cf27365d2d41cd7282f8c0425f2e96

9 months agoInitial work towards converting the autoconf bundle to autosetup. Currently non-funct...
stephan [Sun, 19 Jan 2025 18:58:09 +0000 (18:58 +0000)] 
Initial work towards converting the autoconf bundle to autosetup. Currently non-functional.

FossilOrigin-Name: d7708372ff2fef4bfa61e56dbfbb363cac7685587a61a151497991d9a08bb07f

9 months agoFurther refactoring of auto.def to simplify creation of variant builds like the autoc...
stephan [Sun, 19 Jan 2025 18:32:45 +0000 (18:32 +0000)] 
Further refactoring of auto.def to simplify creation of variant builds like the autoconf bundle.

FossilOrigin-Name: f806c563a29240c709508316846fbe0cb3ed61b68a6c1d9544eb699e30141d8d

9 months agoMinor internal refactoring of auto.def to support the pending autoconf subdir port...
stephan [Sun, 19 Jan 2025 16:26:25 +0000 (16:26 +0000)] 
Minor internal refactoring of auto.def to support the pending autoconf subdir port to autosetup. No functional changes.

FossilOrigin-Name: 01ff37584708f3f79c62c1b5ed8cceab721cf8348a69a65f0559b1ef8845e85b

9 months agoMove some of the auto.def functions into autosetup/sqlite-config.tcl for re-use in...
stephan [Sun, 19 Jan 2025 14:53:45 +0000 (14:53 +0000)] 
Move some of the auto.def functions into autosetup/sqlite-config.tcl for re-use in the pending migration of the autoconf bundle to autosetup. This is just reorg, no functional changes.

FossilOrigin-Name: 2f1e94994f3595baad4045ab05ffee0668059c23ab37a39c25b83c62bfbaea28

9 months agoEnable automatic query-time indexes for WITHOUT ROWID tables.
drh [Sat, 18 Jan 2025 23:44:06 +0000 (23:44 +0000)] 
Enable automatic query-time indexes for WITHOUT ROWID tables.

FossilOrigin-Name: 8534af5b94be9f5b1f02453e1c3b6b3f78a698af91595bdbbfdea00676510116

9 months agoAdd a simple test case (many more are coming soon to TH3). Fix an obsolete without-rowid-autoidx
drh [Sat, 18 Jan 2025 21:19:02 +0000 (21:19 +0000)] 
Add a simple test case (many more are coming soon to TH3).  Fix an obsolete
assert().

FossilOrigin-Name: aa829a131a3431791083cf60d9cf00e7b3c0fafdd39a23e761b629a2287ab875

9 months agoAdd support for automatic query-time indexes on WITHOUT ROWID tables.
drh [Sat, 18 Jan 2025 21:00:19 +0000 (21:00 +0000)] 
Add support for automatic query-time indexes on WITHOUT ROWID tables.

FossilOrigin-Name: 89c4cbd9529081941d7283a401c4a8d71b241f4577ebf6d3eb2ebe5a1cf92f2e

9 months agoWhen cross-compiling, change the CFLAGS default to exclude -g, per /chat discussion...
stephan [Sat, 18 Jan 2025 16:05:38 +0000 (16:05 +0000)] 
When cross-compiling, change the CFLAGS default to exclude -g, per /chat discussion prompted by [forum:9a67df63eda9925c|forum post 9a67df63eda9925c].

FossilOrigin-Name: 4309da2ca5cb99ea81f3034ae3c5809187c0131d21f9f9469ea0d69c941f393e

9 months agoWhen running make install, avoid the -s (strip) flag when cross-compiling, as it...
stephan [Sat, 18 Jan 2025 13:51:01 +0000 (13:51 +0000)] 
When running make install, avoid the -s (strip) flag when cross-compiling, as it only works for the build platform. Reported in [forum:9a67df63eda9925c|forum post 9a67df63eda9925c].

FossilOrigin-Name: 230e49c10e3aa6fe9c487a1e026016a8bf97f7e736e7477d5976d987da5e83cf

9 months agoFor the purpose of the query planner heuristic added by [38db9b5c83], a query
drh [Fri, 17 Jan 2025 23:49:40 +0000 (23:49 +0000)] 
For the purpose of the query planner heuristic added by [38db9b5c83], a query
should only count as a star query if the fact tables are connected to the
dimension table by an INNER JOIN.  If a LEFT JOIN is used, then the fact
tables are constrained to be in inner loops anyhow and so the heuristic does
not make any sense.  But it does interfere with AUTOMATIC index creation, which
causes the performance regression reported by
[forum:/forumpost/d87570a145599033|forum post d87570a1455].

FossilOrigin-Name: 0852c57ee2768224af79910e6f26e70a4962651dae0f8b45cbfc847e6707d7bb

9 months agoEnhance a comment on a test case to add recent context.
drh [Fri, 17 Jan 2025 17:09:42 +0000 (17:09 +0000)] 
Enhance a comment on a test case to add recent context.

FossilOrigin-Name: c2647d1bd16fd46dd03953afee6cad44ce14fa2c36713c487b678d63660bc072

9 months agoTypo fix in speedtest.md.
stephan [Fri, 17 Jan 2025 15:56:16 +0000 (15:56 +0000)] 
Typo fix in speedtest.md.

FossilOrigin-Name: 36027cf340fe2e351c63129d069f9bced090c4a028ffd78d5b8c0f418ad9f230

9 months agoImprovements to the speedtest.tcl script. Add documentation on how to use the
drh [Fri, 17 Jan 2025 15:39:48 +0000 (15:39 +0000)] 
Improvements to the speedtest.tcl script.  Add documentation on how to use the
script.

FossilOrigin-Name: eb3853d08141bf941193e8ecaf991191bb7fb46287818708a84018520eb1835e

9 months agoAdd the test/speedtest.tcl script to simplify performance and size testing.
drh [Fri, 17 Jan 2025 12:32:01 +0000 (12:32 +0000)] 
Add the test/speedtest.tcl script to simplify performance and size testing.

FossilOrigin-Name: ad7b38672656d0336a73bb789ec83f6939fbdae81e21be68e0313006826dc294

9 months agoFix a potential one-byte buffer overrun when reading from the Windows
drh [Fri, 17 Jan 2025 10:39:04 +0000 (10:39 +0000)] 
Fix a potential one-byte buffer overrun when reading from the Windows
console in the CLI. [forum:/forumpost/95e17b8f5c|Forum post 95e17b8f5c].

FossilOrigin-Name: 4d96759694c91301410f53a3f737a049c33e8b259b0954ff659714aff8b21ae8

9 months agospeedtest1: further improvements to the "json" testset.
drh [Thu, 16 Jan 2025 20:46:08 +0000 (20:46 +0000)] 
speedtest1: further improvements to the "json" testset.

FossilOrigin-Name: c4750f7cf7e2188623de8b12e01acf3e3d7dc7b5ea87ac449571eb36f97d842a

9 months agospeedtest1: Improvements to the "json" testset. Better balance in "mix1".
drh [Thu, 16 Jan 2025 20:08:59 +0000 (20:08 +0000)] 
speedtest1:  Improvements to the "json" testset.  Better balance in "mix1".

FossilOrigin-Name: 2cc73c5e08f1a16fe8accf0af6af061e42d27635883d09234516fd470e99bc0a

9 months agoRevamp the "json" testset in speedtest1.
drh [Thu, 16 Jan 2025 17:19:06 +0000 (17:19 +0000)] 
Revamp the "json" testset in speedtest1.

FossilOrigin-Name: d33508836bc88314a205bfa9d80f3ebe695163cf0c46d500ad674535975408fb

9 months agoAdd the "json" test case to speedtest1 and include it in "mix1".
drh [Thu, 16 Jan 2025 14:37:48 +0000 (14:37 +0000)] 
Add the "json" test case to speedtest1 and include it in "mix1".

FossilOrigin-Name: 2db3a3ee37a9d2fe9b94d16d35c24846c37abe73b89cde4dd763e01a2bfaa8b7

9 months agoSpeedtest1 enhancements: (1) Add the ability to scale performance of
drh [Thu, 16 Jan 2025 14:06:29 +0000 (14:06 +0000)] 
Speedtest1 enhancements:  (1) Add the ability to scale performance of
tests sets using "/NNN" after the testset name, even for testsets in a
comma-separated list.  (2) Add the "mix1" macro testset.

FossilOrigin-Name: 85667b3a572bc9afd8c862a0b2c5f47f76ca80d6e61302ca7d7c1b326d3dd578

9 months agowasm: after generating the .js/.mjs file, strip out all of the generated pieces which...
stephan [Thu, 16 Jan 2025 13:10:06 +0000 (13:10 +0000)] 
wasm: after generating the .js/.mjs file, strip out all of the generated pieces which create Emscripten call() bindings for the sqlite3 APIs, as we don't use those binding, so both the setup time and the memory they use installing WASM proxy bindings is wasted. This eliminates some 200 superfluous/unused bindings from the init process.

FossilOrigin-Name: 020d2c7528be6f11a5b2b849d7b2f04e47abe2b0842520ff60eb7defb3768e1c

9 months agoWhen generating the autoconf snapshot, replaces the Libs.private line from sqlite3...
stephan [Thu, 16 Jan 2025 12:15:51 +0000 (12:15 +0000)] 
When generating the autoconf snapshot, replaces the Libs.private line from sqlite3.pc.in with one compatible with the legacy build, as reported in [forum:e40b9b424a|forum post e40b9b424a].

FossilOrigin-Name: fe47154799bfefb12eb1209d9ada64ecac38bee1b7c3558d175215a2beba991d

9 months agoReplace use of Emscripten's Module.postRun() with a custom callback so that we get...
stephan [Thu, 16 Jan 2025 09:27:40 +0000 (09:27 +0000)] 
Replace use of Emscripten's Module.postRun() with a custom callback so that we get consistent library init timing with both Emscripten 3.1.x and 4.0.x. Details and discussion are in [https://github.com/emscripten-core/emscripten/issues/23420|Emscripten ticket #23420].

FossilOrigin-Name: 4863a70ac61ff6f868429f16f0141484ea98f973fde1a9aff879252d0f1dbb6b

9 months agoWhen two indexes have the same cost, use the narrower one (the one with the
drh [Thu, 16 Jan 2025 01:47:03 +0000 (01:47 +0000)] 
When two indexes have the same cost, use the narrower one (the one with the
smaller average on-disk row width).

FossilOrigin-Name: 398559678f2b9a65b245ed73b4d512c4fccc69d42b5a6a1c1b7755a80b69d073

9 months agoCheck-in [da9124fee28c155c] broken the new SQLITE_IOCAP_SUBPAGE_READ mechanism
drh [Wed, 15 Jan 2025 21:13:38 +0000 (21:13 +0000)] 
Check-in [da9124fee28c155c] broken the new SQLITE_IOCAP_SUBPAGE_READ mechanism
for inhibiting direct-overflow-read.  This check-in fixes the problem.

FossilOrigin-Name: 113078d555eaf740666680562ebbb04f7d823b72e8b2d553627e54ab3d7bf653

9 months agoTeach tool/stripccomments.c that a backslash immediately preceeding a forward slash...
stephan [Wed, 15 Jan 2025 21:09:19 +0000 (21:09 +0000)] 
Teach tool/stripccomments.c that a backslash immediately preceeding a forward slash means that that forward slash cannot be the start of a comment. This is intended to allow JavaScript regular expressions containing \/* (like [https://github.com/emscripten-core/emscripten/issues/23412|the one introduced in emsdk 4.0.0]) to pass through properly. Re-enable comment-stripping in the JS dist builds.

FossilOrigin-Name: db21d6cc9d1c425deffc0e4e92173caf586e6ac66110c71a4930b21e3e7f84b9

9 months agoWork around [https://github.com/emscripten-core/emscripten/issues/23420|a behavior...
stephan [Wed, 15 Jan 2025 20:53:14 +0000 (20:53 +0000)] 
Work around [https://github.com/emscripten-core/emscripten/issues/23420|a behavior change in emsdk 4.0.0] which breaks the load/init timing of the wasm module.

FossilOrigin-Name: 00a750184bcf1a94bf4e7f1d5029a42671e87e2997ae97be07bd900d3702883d

9 months agoWhen choosing between two indexes with the same cost, pick the one with the consider-idx-width
drh [Wed, 15 Jan 2025 20:23:22 +0000 (20:23 +0000)] 
When choosing between two indexes with the same cost, pick the one with the
smaller predicted number of bytes per row.

FossilOrigin-Name: d4bd0d4214551f88f248698fefc821575b722ce5c194d0b3796f572e4704f641

9 months agoVariable names and conditional logic simplified in where.c. These
drh [Wed, 15 Jan 2025 19:30:10 +0000 (19:30 +0000)] 
Variable names and conditional logic simplified in where.c.  These
changes are cosmetic only and do not affect the resuling machine code.

FossilOrigin-Name: dbc2d6a244fdafd208239894dbdd8f139db6ca20dd8f1ed00d87028e0cb60570

9 months agoFix a typo in a wasm makefile var name, noting that this doesn't actually fix anythin...
stephan [Wed, 15 Jan 2025 15:27:02 +0000 (15:27 +0000)] 
Fix a typo in a wasm makefile var name, noting that this doesn't actually fix anything because the var in question is not used when building 'clean' or 'distclean'.

FossilOrigin-Name: 7cfc75a625095e41c3e952d4a209fdbb344df0d3dd9b0103e9e6a986dfe53c89

9 months agoDisable the C-style comment stripper in the JS dist build, as explained in [forum...
stephan [Wed, 15 Jan 2025 14:28:56 +0000 (14:28 +0000)] 
Disable the C-style comment stripper in the JS dist build, as explained in [forum:529c20d344|forum post 529c20d344].

FossilOrigin-Name: a9475e7614f8e44252abf273d0e0522c247df12624e40108ce98ad4aaf320f2d

9 months agoChange the version number to 3.49.0 to begin the next development
drh [Tue, 14 Jan 2025 20:47:23 +0000 (20:47 +0000)] 
Change the version number to 3.49.0 to begin the next development
cycle.  Any patches to 3.48.0 will go on a branch.

FossilOrigin-Name: 8165a3d3a40c5b43275fb4b1cdf57c44a57cd56c514bd2a550deac26a14795eb

9 months agoTrying to remove a warning from some compiler that I do not have access to.
drh [Tue, 14 Jan 2025 16:10:13 +0000 (16:10 +0000)] 
Trying to remove a warning from some compiler that I do not have access to.

FossilOrigin-Name: bc6de90c7049dd429a82d32b186a838f4a21aa7b8a83418eaf0416d19771b41e

9 months agoVersion 3.48.0 major-relase relase version-3.48.0
drh [Tue, 14 Jan 2025 11:05:00 +0000 (11:05 +0000)] 
Version 3.48.0

FossilOrigin-Name: d2fe6b05f38d9d7cd78c5d252e99ac59f1aea071d669830c1ffe4e8966e84010

9 months agoRemove a stray tab character from a comment.
drh [Mon, 13 Jan 2025 13:32:56 +0000 (13:32 +0000)] 
Remove a stray tab character from a comment.

FossilOrigin-Name: 315079b150b47e013e2cde4985bc39d24e0f6f6c6e60f9383fb8ea4ea897c67a

9 months agoGCC 13 has become more quite pedantic about the signature of functions matching the
drh [Mon, 13 Jan 2025 11:28:34 +0000 (11:28 +0000)] 
GCC 13 has become more quite pedantic about the signature of functions matching the
type of pointers through which the functions are called.  Make adjustments to
extension functions and test procedures to work around this.  No changes to the
core.

FossilOrigin-Name: ed83b79100b4345235aec990303c4526874f0c2f8701160c4639a80633ebaf70

9 months agoFix harmless "implicit fall through" warnings that suddenly appeared when
drh [Sat, 11 Jan 2025 16:28:41 +0000 (16:28 +0000)] 
Fix harmless "implicit fall through" warnings that suddenly appeared when
I upgraded to gcc-13.

FossilOrigin-Name: 3e2875dac27de1525d9c78f38ac5f1fc12fec7e1b43dbdf47798b128fae49084

9 months agoBetter job at suppressing harmless scan-build warnings. This time testing
drh [Sat, 11 Jan 2025 14:43:47 +0000 (14:43 +0000)] 
Better job at suppressing harmless scan-build warnings.  This time testing
and working.

FossilOrigin-Name: c847973947de67579fab78a65ecfc90bf59fd5db0b7fa7a9c1abb1fc92213d01

9 months agoFix harmless scan-build warnings.
drh [Sat, 11 Jan 2025 13:59:42 +0000 (13:59 +0000)] 
Fix harmless scan-build warnings.

FossilOrigin-Name: b93af6feb7c0c3af30a47810a7c0e77ce41c386fac164c64bb5871a6c153db7e

9 months agoFix an age-old bug in the lower-level wasm/js helper bits which was (A) caused remova...
stephan [Sat, 11 Jan 2025 09:02:55 +0000 (09:02 +0000)] 
Fix an age-old bug in the lower-level wasm/js helper bits which was (A) caused removal of customized WASM func/argument conversion to siltently fail and (B) triggered a warning in the closure toolchain. Reported in [jaccwabyt ticket c5c296e85a7c01360820|https://fossil.wanderinghorse.net/r/jaccwabyt/info/c5c296e85a7c01360820].

FossilOrigin-Name: 99917a5bb04b5ad6ace95baf86d91e6ce098f9d3001de1a29d3d0b0b817acdce

9 months agoUpdate the makefile so that it puts the amalgamation files in a subdirectory
drh [Thu, 9 Jan 2025 19:57:44 +0000 (19:57 +0000)] 
Update the makefile so that it puts the amalgamation files in a subdirectory
in the amalgamation-zip.
[forum:/forumpost/b8dd1941e1|Forum post b8dd1941e1].

FossilOrigin-Name: cef8e88bedf01dc47012ef1cb878b22117c9966e615edf5a69704486f9cfa56c

9 months agoWhen removing an fts5 in secure-delete mode, defer setting the table version to SECUR...
dan [Thu, 9 Jan 2025 14:10:25 +0000 (14:10 +0000)] 
When removing an fts5 in secure-delete mode, defer setting the table version to SECUREDELETE until flushing data to disk. This prevents problems that can occur if there is a rollback or statement rollback operation.

FossilOrigin-Name: c359e555ceafcaab2ae38074bc4f57cccdc5bc6080d17f82290c09b9e5dd80c2

9 months agoFix another assert() failure in fts5.
dan [Wed, 8 Jan 2025 20:43:03 +0000 (20:43 +0000)] 
Fix another assert() failure in fts5.

FossilOrigin-Name: 6da37893f5b5729ea5fd632e8d98789e867488a67501d4a4dad92f8e7cb6bda0

9 months agoFix a crash in fts5 that could occur if shadow tables are modified or removed.
dan [Wed, 8 Jan 2025 15:54:44 +0000 (15:54 +0000)] 
Fix a crash in fts5 that could occur if shadow tables are modified or removed.

FossilOrigin-Name: c0b691095ae72fc07530777ef6d23688fb4196ce2e0feff14fc3c597c572252d

9 months agoCross-link and otherwise improve the various how-to-compile documents.
drh [Wed, 8 Jan 2025 12:51:28 +0000 (12:51 +0000)] 
Cross-link and otherwise improve the various how-to-compile documents.
No code changes.

FossilOrigin-Name: 5e6ede92afae77ce6023f3b294dc565651631c7976d898d800988f1b3ff2e83f

9 months agoIn the doc/tcl-extension-testing.md document, provide enhanced explanation for
drh [Wed, 8 Jan 2025 12:25:33 +0000 (12:25 +0000)] 
In the doc/tcl-extension-testing.md document, provide enhanced explanation for
why the tcl library needs to be copied into the install directory.

FossilOrigin-Name: cff70c859fff37f886fd622b7335a73836ff8cf15e6cb7aabcff449a7e427fa8

9 months agoFurther refinement to the Tcl extension testing procedure.
drh [Tue, 7 Jan 2025 18:50:19 +0000 (18:50 +0000)] 
Further refinement to the Tcl extension testing procedure.

FossilOrigin-Name: 32b8b078d16b8931afa56e587cf840412c65b68da0bc6fd6280ac773295116cf

9 months agoImprovements to [14b38ae6ab86a314] so that the Tcl interface is better able
drh [Tue, 7 Jan 2025 16:36:47 +0000 (16:36 +0000)] 
Improvements to [14b38ae6ab86a314] so that the Tcl interface is better able
to work with boolean values in both Tcl86 and Tcl90.

FossilOrigin-Name: 4e85343d6107a46682b549667410c296d7f4d17e3ac04ded7357afcbbfbe3e6d

9 months agoFix a memory error in test logic introduced by [8704034254938662].
drh [Tue, 7 Jan 2025 15:39:57 +0000 (15:39 +0000)] 
Fix a memory error in test logic introduced by [8704034254938662].

FossilOrigin-Name: 8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4

9 months agoTypo in the previous check-in.
drh [Tue, 7 Jan 2025 15:00:00 +0000 (15:00 +0000)] 
Typo in the previous check-in.

FossilOrigin-Name: 5872d7a0a7d4959562e1218bbba1115df8b292d980234273d0d38749edf19822

9 months agoEnhancements to the Tcl SQLite extension testing procedures so that they
drh [Tue, 7 Jan 2025 14:55:49 +0000 (14:55 +0000)] 
Enhancements to the Tcl SQLite extension testing procedures so that they
install a full-featured SQLite and so that Tcl is build statically so that
there is no need to worry with LD_LIBRARY_PATH.

FossilOrigin-Name: c8972e652ebe62a8583904b5bc1d96b2d598222c037a714c8ff114ca84b52c7a

10 months agoMake the TCL extension aware of the booleanString type within TCL.
drh [Tue, 7 Jan 2025 12:14:32 +0000 (12:14 +0000)] 
Make the TCL extension aware of the booleanString type within TCL.

FossilOrigin-Name: 14b38ae6ab86a314a63ca9513850b43fcc670864f94d03a2706eff469980da88

10 months agoFix a typo in the previous check-in.
drh [Tue, 7 Jan 2025 11:54:43 +0000 (11:54 +0000)] 
Fix a typo in the previous check-in.

FossilOrigin-Name: 7d41885e85b0e2ef28bac34d663af07c35b21ee3e8b14481d2371f623bce681d

10 months agoMinor fixes to tclsqlite.c to promote portability.
drh [Tue, 7 Jan 2025 00:17:54 +0000 (00:17 +0000)] 
Minor fixes to tclsqlite.c to promote portability.

FossilOrigin-Name: dd934f032fa6fc790a951006512e3ed76a5f2930858932918eafdbe3ceec4620

10 months agoEnhance the makefile to make it easier to build from a read-only source tree.
drh [Mon, 6 Jan 2025 23:33:45 +0000 (23:33 +0000)] 
Enhance the makefile to make it easier to build from a read-only source tree.

FossilOrigin-Name: f99a70eca2fd8a54be3a6629dabd62efc623488706eed5e5a1bd0be577ac1acb

10 months agoFix a problem with tool/mksqlite3h.tcl that prevents it from running out of
drh [Mon, 6 Jan 2025 21:36:16 +0000 (21:36 +0000)] 
Fix a problem with tool/mksqlite3h.tcl that prevents it from running out of
a read-only check-out.

FossilOrigin-Name: cb54f0063edd284996b225183b8e35d71ffcd3c0fb4f56a0e316181f1a186d46

10 months agoFix a minor problem with the sqlite3_get_table_printf() test interface.
drh [Mon, 6 Jan 2025 18:32:53 +0000 (18:32 +0000)] 
Fix a minor problem with the sqlite3_get_table_printf() test interface.
No core changes.

FossilOrigin-Name: a0df29c7a3eb4f558aba00598d827643830591def3101a4d5464543527b8d13c

10 months agoAdd test case for using both SQLITE_CHANGESETAPPLY_IGNORENOOP and SQLITE_CHANGESETAPP...
dan [Mon, 6 Jan 2025 17:01:35 +0000 (17:01 +0000)] 
Add test case for using both SQLITE_CHANGESETAPPLY_IGNORENOOP and SQLITE_CHANGESETAPPLY_FKNOACTION.

FossilOrigin-Name: b1cc53fa3fb2ac3abeadd3282d8751f4d533315754159f16ca7f7f300ccdd8c8

10 months agoFurther refactoring of the TCL extension test procedure document, for
drh [Sun, 5 Jan 2025 19:58:30 +0000 (19:58 +0000)] 
Further refactoring of the TCL extension test procedure document, for
improved clarity and usability.

FossilOrigin-Name: bcdaef434142973a0805117495e561b2dcd1ec1465cacc9b944a3707291afc0d

10 months agoRefactor the TCL extension test procedure to deal with TCL8.6 and TCL9.0
drh [Sun, 5 Jan 2025 17:16:33 +0000 (17:16 +0000)] 
Refactor the TCL extension test procedure to deal with TCL8.6 and TCL9.0
separately, to simplify the procedures and reduce cognative stress on the
tester.

FossilOrigin-Name: 5281536327d244ba9507548f7ed607e86e59b98a003e63f6da767471411c8ffc

10 months agoFix typo in the tcl-extension-testing.md document.
drh [Sun, 5 Jan 2025 11:40:15 +0000 (11:40 +0000)] 
Fix typo in the tcl-extension-testing.md document.

FossilOrigin-Name: 28150c615cb601dfc9e4f660627228d6a8a715d64c65f7bc77931c9daf8a0dd7

10 months agoImprovements to TCL extension test procedure description. Improvements to
drh [Sun, 5 Jan 2025 11:19:32 +0000 (11:19 +0000)] 
Improvements to TCL extension test procedure description.  Improvements to
the tclextension-list and tclextension-verify makefile targets to suppress
unnecessary output.

FossilOrigin-Name: 3e92fea09af13259d61afd2953fe5f3fc16e3cedfef09e350903aa5299b8e469

10 months agoImprovements to testing and validation of the SQLite TCL extension.
drh [Sat, 4 Jan 2025 20:50:21 +0000 (20:50 +0000)] 
Improvements to testing and validation of the SQLite TCL extension.

FossilOrigin-Name: 9d7597cad4a167aef7688e85513d8695e8d919e41f5cd44909aefee5ddf13345

10 months agoShow the values of $(JIM_TCLSH) and $(VISUALSTUDIOVERSION) in the
drh [Sat, 4 Jan 2025 20:13:54 +0000 (20:13 +0000)] 
Show the values of $(JIM_TCLSH) and $(VISUALSTUDIOVERSION) in the
output of "nmake tcl-env".

FossilOrigin-Name: 4270abc071ced9e7ec1fed3c387262cc1912e321e37e45e547a1088dbb022702

10 months agoAllow the 2nd argument to ".param set" to use previously bound parameters,
drh [Sat, 4 Jan 2025 19:50:44 +0000 (19:50 +0000)] 
Allow the 2nd argument to ".param set" to use previously bound parameters,
as suggested by [forum:/forumpost/823e1bd746|forum post 823e1bd746].

FossilOrigin-Name: 13a35ad792dc0afe1f7b60230aef392ae01e702972b963d732e332f21848f38b

10 months agoFix a problem in the sessions extension allowing changesets containing foreign key...
dan [Sat, 4 Jan 2025 16:30:05 +0000 (16:30 +0000)] 
Fix a problem in the sessions extension allowing changesets containing foreign key violations to be committed under some circumstances.

FossilOrigin-Name: e09a0c022903d88d5d6de34b2527565ef60c6bb049f2fb42f037e1520abf0f93

10 months agoAdd the document describing test procedures for the TCL extension build
drh [Sat, 4 Jan 2025 15:52:40 +0000 (15:52 +0000)] 
Add the document describing test procedures for the TCL extension build
process.  Update the Windows makefile so that it builds the TCL extensions
successfully with a default installation of Tcl8.6.

FossilOrigin-Name: 3263db9249444203b7a9a9f2b0be309c74944315dde7ed192366b709fff93f1b

10 months agoAdjust the Windows Makefile.msc so that it can build the tclextension with test-procedures
drh [Sat, 4 Jan 2025 15:51:30 +0000 (15:51 +0000)] 
Adjust the Windows Makefile.msc so that it can build the tclextension with
Tcl8.6 successfully.  Updates to the tcl-extension test procedure document.

FossilOrigin-Name: 0c2cdc632f26d6acac2d508def4ecfcc97462ebcddc20c84f8847e02e42b3a1d

10 months agoAdd new tcl-extension-testing.md document. The Windows side is not yet
drh [Sat, 4 Jan 2025 14:10:45 +0000 (14:10 +0000)] 
Add new tcl-extension-testing.md document.  The Windows side is not yet
working.

FossilOrigin-Name: 9dc805df1b1c26196ca53baa6b1b8c2f7e59e0150d02ead53228c77a63ad40f4

10 months agoAdd comment to the columnIsGoodIndexCandidate() routine to record the results
drh [Fri, 3 Jan 2025 11:51:50 +0000 (11:51 +0000)] 
Add comment to the columnIsGoodIndexCandidate() routine to record the results
of a failed experiment.  No changes to code.

FossilOrigin-Name: 9ee57a30a49d9813bf2669a5d8346f7e018e3fbf1792739951311a8d3a249d45

10 months agoAvoid using Int32x32To64() with a 64-bit argument in fileio.c - this level of micro...
dan [Fri, 3 Jan 2025 11:22:01 +0000 (11:22 +0000)] 
Avoid using Int32x32To64() with a 64-bit argument in fileio.c - this level of micro-optimization is not really necessary there.

FossilOrigin-Name: 1291b013a8c93e7001fe25783bc98d12f5f7c341d1f728e6852632e18a38af58

10 months agoImprove the treeview output for CteUse objects.
drh [Thu, 2 Jan 2025 21:23:25 +0000 (21:23 +0000)] 
Improve the treeview output for CteUse objects.

FossilOrigin-Name: 2b16d6947ca4a102ddab4d5ba3e340a75e1e5c28e45e874ee5ff52f9b5fb964f

10 months agoImprovements to the display of subqueries in the FROM clause for treeview
drh [Thu, 2 Jan 2025 18:43:29 +0000 (18:43 +0000)] 
Improvements to the display of subqueries in the FROM clause for treeview
output.  (Debug and analysis code only - does not affect production builds.)

FossilOrigin-Name: 4a2d65cdcdd3d21bb7d9ea0efb434484f1b8642c2bb6457db58bc2a5f4fc16e5