]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
11 months agoAdd two new sqlite3_db_config() options that enable the ATTACH command enable-attach
drh [Wed, 22 Jan 2025 19:37:47 +0000 (19:37 +0000)] 
Add two new sqlite3_db_config() options that enable the ATTACH command
to create new database files and to open databases read/write.  Both
default to on for backwards compatibility.

FossilOrigin-Name: fe0c58d00b491d1af7c0894f5c32542954aeea2e6510853b3bcbf13ac0bf5ce0

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

12 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

12 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

12 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

12 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