]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
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 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 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 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 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 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

10 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

10 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

10 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

10 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

10 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

10 months agoClose database connections in test/dbpage.test, for Windows.
drh [Thu, 2 Jan 2025 17:56:11 +0000 (17:56 +0000)] 
Close database connections in test/dbpage.test, for Windows.

FossilOrigin-Name: 322d255ed89c1dee08745e89f3c2bcf495283fd87b7526e70d6525a6e96b0ecf

10 months agoFix recent test cases so that they work even when auto_vacuum defaults to on.
drh [Thu, 2 Jan 2025 15:39:54 +0000 (15:39 +0000)] 
Fix recent test cases so that they work even when auto_vacuum defaults to on.

FossilOrigin-Name: 41f6e46695b547dece4daf2f3714e29f231aa04774f57fbd31aeb0a4290c0e7d

10 months agoAdd a test case for ROLLBACK TO of database truncate operations made through the...
dan [Thu, 2 Jan 2025 15:27:15 +0000 (15:27 +0000)] 
Add a test case for ROLLBACK TO of database truncate operations made through the sqlite_dbpage vtab.

FossilOrigin-Name: eb335beb1eb9ebbea4cb793d24f65787d0d9d8539bc6b5971e4e4298fdfce0c2

10 months agoImprovements to the way that truncation is implemented in sqlite_dbpage().
drh [Thu, 2 Jan 2025 15:03:13 +0000 (15:03 +0000)] 
Improvements to the way that truncation is implemented in sqlite_dbpage().

FossilOrigin-Name: ac4bb2e4ecf0bdb0d8ac12b1ccb42d51af02f519a038cfc79faab5c216971056

10 months agoUpdate the build instructions for Windows to note that VS2015 or later is
drh [Thu, 2 Jan 2025 12:14:01 +0000 (12:14 +0000)] 
Update the build instructions for Windows to note that VS2015 or later is
required to avoid the need to install tclsh.exe.

FossilOrigin-Name: da0ef0567be55648413bcbf2e129f348776a908dbad2ac8582ee3e27ac459e3b

10 months agoFix the tool/omittest.tcl script, broken by [d8c0e0184226bdae].
drh [Wed, 1 Jan 2025 18:18:49 +0000 (18:18 +0000)] 
Fix the tool/omittest.tcl script, broken by [d8c0e0184226bdae].

FossilOrigin-Name: 4f6c36a61c2b27e204c00bd7467453098f756c7e596b7e62d47da8784fbd2026

10 months agoFix the vfstrace.c extension so that it supports xFetch and xUnfetch.
drh [Wed, 1 Jan 2025 12:24:01 +0000 (12:24 +0000)] 
Fix the vfstrace.c extension so that it supports xFetch and xUnfetch.

FossilOrigin-Name: c7132b7e62422378f0560dcf0837888db5aa70cded9d783ab389581aa43dc5c8

10 months agoAdd the convenience makefile target (unix-only) "src-archives" that builds
drh [Mon, 30 Dec 2024 21:23:53 +0000 (21:23 +0000)] 
Add the convenience makefile target (unix-only) "src-archives" that builds
the various tarballs and ZIP archives that go on the download page.  This is
intended to make it easier and less error prone to put up new "draft" download
pages for testing.

FossilOrigin-Name: 2b17bc49655c577029919c2d409de994b0d252f8efb5da1ba0913f2c96bee552

10 months agoNew assert() statements to show that the sqlite3_value.db field is initialized
drh [Mon, 30 Dec 2024 13:54:52 +0000 (13:54 +0000)] 
New assert() statements to show that the sqlite3_value.db field is initialized
for MemArrays.

FossilOrigin-Name: 7cd8ccf57d1ae0f597ec5004201395f61ef4750728f3c1b9c4dd52d28916a4f7

10 months agoAdd an extra assert() to releaseMemArray() just to prove that the
drh [Mon, 30 Dec 2024 12:29:18 +0000 (12:29 +0000)] 
Add an extra assert() to releaseMemArray() just to prove that the
sqlite3_value.db field is never NULL.

FossilOrigin-Name: b969ef1def5121c7ff54e3586528274f006ca994b308cf88ccaa9d4f56bf30df

10 months agoFour new assert() statements to help with static analysis.
drh [Sun, 29 Dec 2024 11:54:12 +0000 (11:54 +0000)] 
Four new assert() statements to help with static analysis.

FossilOrigin-Name: e7f7c9d22be8a17b9a4d8f954fcdd40591ba9da5fb674f1184f960bca5f3d30b

10 months agoShow ETC in fuzzcheck with the --spinner option when there is only one input
drh [Sat, 28 Dec 2024 13:04:31 +0000 (13:04 +0000)] 
Show ETC in fuzzcheck with the --spinner option when there is only one input
file.

FossilOrigin-Name: 809699aeaaa4bae67e7ddeae3d42c7133f7deadbb4eb869cfb7e99dd97bdea99

10 months agoFixes to the substr() SQL function so that it can handle ridiculously large
drh [Sat, 28 Dec 2024 12:32:01 +0000 (12:32 +0000)] 
Fixes to the substr() SQL function so that it can handle ridiculously large
numbers in its 2nd and 3rd arguments without signed integer overflows.

FossilOrigin-Name: c1de8f916ea617109a903c436c57d082756fbb2b933ba9ce6998b9b912b12dea

10 months agoIn the (debugging) rtreenode() function, do not override an error coming out
drh [Sun, 22 Dec 2024 21:17:27 +0000 (21:17 +0000)] 
In the (debugging) rtreenode() function, do not override an error coming out
of sqlite3_result_text().

FossilOrigin-Name: 286559dfb3ad01fcf34360991a108dbe6bf81e7919c461ada6c691ee8f43868f

10 months agoFix a test case in sqllimits1.test so that it works with the Apple
drh [Thu, 19 Dec 2024 20:29:36 +0000 (20:29 +0000)] 
Fix a test case in sqllimits1.test so that it works with the Apple
configuration which changes the default SQLITE_MAX_LENGTH.

FossilOrigin-Name: 536fff14acb3335ad00fb1165cfb2f97e7a31c36273b9b97ffdb4b572fe72c08

10 months agoCorrection to check-in [a9759fc78d6cb0df] - printf() parameters values must
drh [Thu, 19 Dec 2024 19:52:13 +0000 (19:52 +0000)] 
Correction to check-in [a9759fc78d6cb0df] - printf() parameters values must
be integers.

FossilOrigin-Name: 2db531d1911369ea932d3559abcc02389e5f9ad72b46b0801dfb6063855aee1b

10 months agoThe BTree mutex must be held when calling sqlite3BtreeLastPage(). This
drh [Thu, 19 Dec 2024 19:02:09 +0000 (19:02 +0000)] 
The BTree mutex must be held when calling sqlite3BtreeLastPage().  This
check-in fixes a bug introduced by [cf8b99e17872c054].

FossilOrigin-Name: e6c30ee52c5cdc193804cec63374d558b45e4d67fc6bde58771ca78485ca0acf

10 months agoFix the sort4.test module so that the first two test cases are omitted
drh [Thu, 19 Dec 2024 14:20:47 +0000 (14:20 +0000)] 
Fix the sort4.test module so that the first two test cases are omitted
when SQLite has been compiled using SQLITE_MAX_WORKER_THREADS=0.

FossilOrigin-Name: 5b96dcf5f6bf41dcb89ced64efd4585e36dce718c428c2324d94e4942905c3bb

10 months agoconfigure script: only set the SQLITE_TEMP_STORE feature flag if --with-tempstore...
stephan [Thu, 19 Dec 2024 14:09:35 +0000 (14:09 +0000)] 
configure script: only set the SQLITE_TEMP_STORE feature flag if --with-tempstore is explicitly set, to avoid colliding with that flag being set by other means via the test fixture scripts.

FossilOrigin-Name: c7839b80972fb31df6ac81af38cf6d04c9542714c20fbaa7457c1eaf955f9222

10 months agoFix the Microsoft makefile so that it does not set SQLITE_TEMP_STORE
drh [Thu, 19 Dec 2024 14:08:06 +0000 (14:08 +0000)] 
Fix the Microsoft makefile so that it does not set SQLITE_TEMP_STORE
unnecessarily.

FossilOrigin-Name: f9b92f9513def690311a5ca46b68cab02bedec7984960d44e7dea5c2d196725a