SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

100 most recent check-ins

2025-03-26
00:02
Merge trunk into cygwin-fixes branch. Add .fossil-settings/binary-glob to squelch warnings about *.db files on Cygwin. (Leaf check-in: a8328b921c user: stephan tags: cygwin-fixes)
2025-03-25
01:32
Configure script internal cleanups. Factor out the superfluous proj-lshift_ and use lassign instead. Add -ro flag to proj-file-write. (Leaf check-in: 1f98fc07fd user: stephan tags: trunk)
2025-03-24
23:08
Clarify and reduce redundancy in an assert() in walChecksumBytes(). (check-in: 3c53abf5e6 user: drh tags: trunk)
19:58
Test that the sqlite3changeset_apply() function is properly appling indirect changes. (check-in: 1dadea3a79 user: dan tags: trunk)
15:09
Replace the general-purpose sqlite3_exec() interface with an optimized version during schema parsing, with the hopes of improving performance. And performance does increase, but by so very little (0.2% or less) that it does not seem worth the extra complication. Changed saved for historical reference. (Closed-Leaf check-in: 455186cad2 user: drh tags: schema-parsing-experiment)
11:13
Add test cases to session1.test. (check-in: dda9d7cf31 user: dan tags: trunk)
2025-03-23
23:04
Correct a --force flag which should be -force in a TCL file delete call. Some TCL versions (like the one on my system) accepts either but others don't. Problem reported in forum post c02224d862. (check-in: 172f4e4772 user: stephan tags: trunk)
22:49
Remove tool/tclConfigShToAutoDef.sh, as that functionality was moved into autosetup/proj.tcl so that it can be reused in, e.g., autoconf/tea. (check-in: c9c5a15d4d user: stephan tags: trunk)
21:38
Internal configure refactoring to support an ongoing conversion of ./autoconf/tea to autosetup. (Edit: this was merged from [63228f7746] but either an obscure fossil bug or an as-yet-unexplained PEBKAC lost that linkage for the second time - the same thing happened with [301ceba6432a882f].) (check-in: e1d483e342 user: stephan tags: trunk)
21:17
Re-integrate a corrected [38d5acd9e0fa47a4] and add a couple more configure script tweaks towards porting autoconf/tea to autosetup. Add tcl9.1 to the tclsh lookup. (Edit: moving to mistake branch. This was actually a merge of [63228f7746994dfb2] but that link got lost due (apparently) to a "stash apply" performed after "merge --integrate". Will re-commit with that merge link intact.) (Closed-Leaf check-in: 301ceba643 user: stephan tags: mistake)
21:13
Correct file-exists check in sqlite-process-dot-in-files, broken for out-of-tree builds by [38d5acd9e0fa47a4]. (Closed-Leaf check-in: 63228f7746 user: stephan tags: configure-tweaks)
15:37
Configure refactoring to support an ongoing conversion of ./autoconf/tea to autosetup. (Edit: moving off of trunk - this silently breaks the configure script, in that the Makefile is not filtered.) (check-in: 38d5acd9e0 user: stephan tags: configure-tweaks)
2025-03-22
23:03
Fixes for two problems with the generate_series() table-valued function. (Leaf check-in: f5aea14e6e user: drh tags: branch-3.49)
22:55
Fix the generate_series() enhancement from check-in [d50b784807333c54] so that it works even if the number that "value" is being compared against is a non-integer floating point number. Bug reported by forum post 0d5d63257. (check-in: c113e31b81 user: drh tags: trunk)
19:07
Replace use of autosetup/lib/*.auto for sqlite-custom-... features to avoid the possibility of multiple files being loaded (in an unpredictable order) for that purpose. Instead look for autosetup/sqlite-custom.tcl and source it if it exists. The intent is that sqlite-custom.tcl only ever be added in vendor-specific branches and never in the trunk. (check-in: f3c0071284 user: stephan tags: trunk)
18:41
In the post-configure validation, ensure than no more than one autosetup/lib/*.auto file is found, for reasons explained in the validation's error message. (check-in: 50bbd69a68 user: stephan tags: trunk)
17:56
Slight corrections to the new docs in autosetup/README.md. (check-in: 55029e41e0 user: stephan tags: trunk)
17:28
Document the new configuration customization approach and extend it to enable sqlite-custom-flags to return an empty string to denote that it does not require any new flags (it may still customize flag default values in such cases). (check-in: b0c7800b01 user: stephan tags: trunk)
17:00
Teach mkautoconfamal.sh to avoid copying autosetup/local.tcl and autosetup/*.auto except for autosetup/lib/CURRENT-BRANCH-NAME.auto (if any), the intent being to use lib/CURRENT-BRANCH-NAME.auto for branch-specific configuration customizations. (check-in: dfe24f13c4 user: stephan tags: trunk)
16:14
Add a mechanism to the configure script to allow certain client-specific builds to extend or override the configure options without having to edit sqlite-config.tcl, the goal being to reduce merge conflicts in those builds when updating sqlite-config.tcl from the canonical copy. (check-in: bafab4ee55 user: stephan tags: trunk)
14:29
Merge the latest trunk changes into the reuse-schema branch. (Leaf check-in: e9496b1bbc user: drh tags: reuse-schema)
14:23
Merge the latest trunk enhancements into the bedrock branch. (Leaf check-in: 4196efe83c user: drh tags: bedrock)
14:19
Merge the latest trunk enhancements into the wal2 branch. (Leaf check-in: 80e6ddd560 user: drh tags: wal2)
14:12
Merge the latest trunk enhancements into the begin-concurrent branch. (Leaf check-in: cb5e024b6a user: drh tags: begin-concurrent)
12:43
Configure script internal cleanups and re-orgs. No functional changes. (check-in: f619e40fb0 user: stephan tags: trunk)
12:15
In the autoconf bundle, do not strip binaries during installation, for parity with the canonical build and the legacy build. Discussed in forum post 9a67df63eda9925c. A potential TODO here is to add a configure flag which either enables or disables stripping. (check-in: 6d2e57bd34 user: stephan tags: trunk)
2025-03-21
22:14
Slightly simplify proj-current-proc-name. (check-in: 6a0ca9f236 user: stephan tags: trunk)
21:13
Fix a multi-arg expr call in proj-current-proc-name (must be single-arg for portability). (check-in: 914768f3f5 user: stephan tags: trunk)
18:15
Teach the CLI that VT100-escape codes that do things like change font colors have zero-width for the purpose of laying out the columns of a table. (check-in: 2d0a8a6c38 user: drh tags: trunk)
16:49
Flesh out the new proc-debug and its infrastructure a bit. (check-in: ba7f1ff0d7 user: stephan tags: trunk)
16:06
Proxy configure's msg-debug with proc-debug, which works the same except that it prepends the name of the calling proc to the debug message. No functional changes. (check-in: f0298c773d user: stephan tags: trunk)
2025-03-20
13:41
Teach the configure script to be able find a default installation of libreadline on Haiku OS. (check-in: 260e988411 user: stephan tags: trunk)
11:47
Fix a problem in the sqlite_dbpage() table-valued function when it is trying to truncate a file in locking-mode=EXCLUSIVE and the file was obtained via sqlite3_deserialize(). Problem found by dbsqlfuzz. (check-in: 346cf9794c user: drh tags: trunk)
2025-03-19
15:21
Correct part of [505d9e49f7] and [7126a51ed8] to get sessioninvert tests working on cygwin. (check-in: 83c34decbe user: stephan tags: cygwin-fixes)
14:57
Correct part of [7126a51e] which changed the implicit return value of a test function. (check-in: 505d9e49f7 user: stephan tags: cygwin-fixes)
14:52
Add some explicit db close calls to work around a process-reaping timing problem on cygwin builds. (check-in: 7126a51ed8 user: stephan tags: cygwin-fixes)
13:49
Test script patches from Jan Nijtmans: always use -DUSE_TCL_STUBS in buildtclext.tcl and improvements in how TRG is populated in testrunner.tcl. (check-in: aa192203aa user: stephan tags: cygwin-fixes)
13:13
Merge trunk into the cygwin-fixes branch for the shell test improvements on Windows. An MSC build's make test now has zero failures. (check-in: 2de4efe10c user: stephan tags: cygwin-fixes)
11:53
Avoid running test cases involving ANSI control characters or Unicode on Windows in a slave interpreter, as that combination does not work. (check-in: c7fd71c77f user: stephan tags: trunk)
10:14
Merge trunk into the cygwin-fixes branch. (check-in: 34eadd374b user: stephan tags: cygwin-fixes)
2025-03-18
20:28
Fix two obscure logic problems that cause incorrect answers, found by a third-party fuzzer. (check-in: 1a8f763c31 user: drh tags: branch-3.49)
20:15
Change the generate_series() table-valued function so that its rowid is just an alias for its value. This allows it to be used as the RHS operand of a RIGHT JOIN. This fixes the issue raised by forum post 1e17219c88. (check-in: 77db4d85e7 user: drh tags: trunk)
19:21
Fix a problem that could occur when the RHS of an IN operator was a compound SELECT featuring an ORDER BY on a subquery that was flattened into one of the component SELECTs introduced by [baa83b460c677c21]. Forum post /forumpost/1e17219c88. (check-in: 7101ccd533 user: dan tags: trunk)
13:52
Internal doc touchups in ext/wasm/mkwasmbuilds.c. No functional changes. (check-in: 47d34260e7 user: stephan tags: trunk)
12:42
Further slight simplification of the run-fuzzcheck rules. (Edit: moving to mistake branch because it having to build the binaries before detecting a missing FUZZDB arg is annoying.) (Leaf check-in: aac59804cc user: stephan tags: mistake)
12:31
Very slight simplification of the run-fuzzcheck rules. (check-in: c858a39fad user: stephan tags: trunk)
11:36
General updates to autosetup/README.md. (check-in: be8ad5cf57 user: stephan tags: trunk)
10:28
Update the docs in tool/mkccode.tcl to reflect that it's more generic than it was when the docs were written. Change the shebang line to use /bin/env tclsh instead of a hard-coded tclsh path. (check-in: 9300f7f42d user: stephan tags: trunk)
2025-03-17
15:13
Prevent integer overflow when parsing NEAR queries in FTS5. (check-in: 1a5283d7da user: drh tags: trunk)
14:59
Add support for the --with-wasi-sdk configure flag to the autoconf build. (check-in: 44880fa3f0 user: stephan tags: trunk)
2025-03-16
14:05
Fix a long-standing filename digest computation bug in the OPFS SAHPool VFS which caused all VFS-stored filenames to have a digest value of 0. See /forumpost/042d53c928382021 for full details. (check-in: 493cbe7450 user: stephan tags: trunk)
13:09
Add --asan-fsanitize=... configure flag to the canonical build to optionally set -fsantize flags for the fuzzcheck-asan tool. Teach proj-check-fsanitiz to fail for flags which the compiler emits any warning for, for reasons described in its comments. (check-in: 013730e9b9 user: stephan tags: trunk)
12:27
Configure-internal doc cleanups. No functional changes. (check-in: be3a2e6311 user: stephan tags: trunk)
11:24
Consolidate some much-duplicated run-fuzzcheck recipe code in main.mk. (check-in: c0d9b9fad3 user: stephan tags: trunk)
00:13
Rework the run-fuzzcheck makefile target so that it better exploit parallelism. Test case "make -j16 run-fuzzcheck FUZZDB=20250222.db" went from 596 seconds down to 107 seconds. (check-in: 18bda13e19 user: drh tags: trunk)
2025-03-15
23:42
Enhance the fuzzcheck testing tool with new command-line options: --brief, and --slice M N. (check-in: e64132723d user: drh tags: trunk)
20:35
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 271e0373a8 user: drh tags: reuse-schema)
20:32
Merge the latest trunk enhancements into the bedrock branch via the wal2 intermediary. (check-in: b1860b6372 user: drh tags: bedrock)
20:28
Merge the latest trunk enhancements into the wal2 branch. (check-in: c8d8f613ed user: drh tags: wal2)
20:25
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 624225499c user: drh tags: begin-concurrent)
19:55
Make use of the C99 flexible array feature, when available, so that the -fsanitize=bounds-strict option can be used, when available. Forum thread 311dbf9a1c. (check-in: d4307a0d43 user: drh tags: trunk)
19:00
Work around compilers that do not understand flexible arrays, in the recovery extension and in the fuzzcheck test module. (Closed-Leaf check-in: f101c46cf8 user: drh tags: flex-array)
18:26
Fix alignment problems on Linux with -m32 and on Mac PPC. (check-in: 8a91aeca60 user: drh tags: flex-array)
16:58
Speed up parsing of very long fts3 query expressions. (check-in: 2dd5b6895a user: dan tags: trunk)
15:19
Configure-internal build cleanups (no functional changes). Add EXTRA_SRC to the deps of sqlite3.c. (check-in: 8afb8bbce8 user: stephan tags: trunk)
13:50
-fsanitize is a CFLAG, not LDFLAG, so rename some vars accordingly and simplify the feature check to not run the linker. (check-in: 44f2c64ec1 user: stephan tags: flex-array)
13:36
For fuzzcheck-asan, dynamically determine the list of -fsanitize flags to use based on configure-time feature tests. (check-in: b70f9cc815 user: stephan tags: flex-array)
13:11
Omit the -fsanitize=bounds-strict for now, as that is still not widely implemented. In particular, it does not work on Macs. (check-in: 3e1c2ac781 user: drh tags: flex-array)
13:04
Use flexible arrays in the recovery extension and in the fuzzcheck test program. Adjust the unix makefile to use -fsanitize=bounds-strict when building fuzzcheck-asan. (check-in: 6ea6a6b211 user: drh tags: flex-array)
12:22
Use flexible arrays whereever appropriate in FTS5. (check-in: 16dfc415b6 user: drh tags: flex-array)
00:11
Convert the Fts5Sorter.aIdx field to a flexible array. (check-in: 28ac776a23 user: drh tags: flex-array)
2025-03-14
23:57
Turn Fts5Colset.aiCol into a flexible array. (check-in: 0c4d9c7474 user: drh tags: flex-array)
23:20
In FTS3, rename the MatchinfoBuffer.aMatchinfo field to aMI, to avoid confusing it with MatchInfo.aMatchinfo. Make aMI a flexiable array. (check-in: bb00b97398 user: drh tags: flex-array)
21:15
Fix one of two flexible arrays in FTS3. (check-in: ddfa87c179 user: drh tags: flex-array)
20:19
Use flexible arrays for RTREE. (check-in: 2b41776179 user: drh tags: flex-array)
19:07
KeyInfo is now an indeterminate size, so we cannot declare a variable of that type, only a pointer to an instance of that type. (check-in: 37b687dc2d user: drh tags: flex-array)
18:10
Make use of the flexible-array feature of C99, when available, to try to pacify -fsanitize=strict-bounds. This check-in fixes the core. There is more yet to do in FTS3, RTREE, and in FTS5. (check-in: 6fd6b32d06 user: drh tags: flex-array)
12:37
Fix an internal doc typo reported in forum post e25e581f917. (check-in: fa6f6ccdff user: stephan tags: trunk)
11:14
Minor doc corrections for the sahpool-digest fix and merge in current trunk. (Closed-Leaf check-in: 500f2e6ec7 user: stephan tags: sahpool-digest)
09:34
Cherrypick the [2b582c0097e33] doc addition, which was initially committed to the wrong branch. (check-in: f786de8d18 user: stephan tags: trunk)
2025-03-13
18:51
Fix the generate_series extension for the case where the termination value is not an even multiple of the step from the start value and there is also a value=NNN constraint in the WHERE clause. Forum post bf2dc8e9 (check-in: 75e72e3b0d user: drh tags: trunk)
2025-03-12
15:17
The --echo flag on the CLI also echos dot-commands provided on the command-line. (check-in: 6ec0c03b95 user: drh tags: trunk)
11:41
Document that sqlite_update_hook() can unset the current hook by passing a NULL callback, to address forum post 652aef4747. (check-in: 2b582c0097 user: stephan tags: cygwin-fixes)
2025-03-11
15:46
Avoid running test cases involving ANSI control characters or Unicode on Windows in a slave interpreter, as that combination does not work. (Closed-Leaf check-in: f6745a7355 user: drh tags: windows-ansi)
12:19
The substitute "puts" command used by the Windows implementation of sqlite3_analyzer must invoke fflush() after each line of output. Otherwise the output can be truncated when redirected into a file. (check-in: ba058ce90a user: drh tags: trunk)
11:24
Teach testrunner.tcl to distinguish Cygwin from Windows. This gets it running but then all downstream tests fail, at least in part because of the build target name discrepancies between the platform which requires .exe and those which do not. (check-in: 2861788e47 user: stephan tags: cygwin-fixes)
2025-03-10
22:31
Ensure that the TEMP database has been initialized at the beginning of a call to sqlite3_open_blob() for the TEMP database. Fix for the issue reported by forum post 0a556d619b. (check-in: 2cfccdbe08 user: drh tags: trunk)
17:35
Merge trunk into the cygwin-fixes branch. (check-in: f3d14433f2 user: stephan tags: cygwin-fixes)
17:28
Add an explicit db close to test/walsetlk.test to work around an unjustified test failure on Windows when the walsetlk tests are run in the same invocation of testfixture.exe in Windows. (check-in: f418de1093 user: stephan tags: trunk)
15:35
Patch an unnecessary size_t-to-int conversion which warns on some compilers. (check-in: 8681dfdb59 user: stephan tags: cygwin-fixes)
15:27
Ensure that the 'clean' target for Makefile.msc cleans up the testdir dir, analog to how the canonical makefile works, as stale files there have been leading to test failures. (check-in: a591c01855 user: stephan tags: cygwin-fixes)
15:15
Reimplement pathname conversion on Cygwin. MSC test passes/failures are on par with trunk and 'make test' running on cygwin is down to a single failure. (check-in: 57a4de0914 user: stephan tags: cygwin-fixes)
14:10
Tweak [6f24da264cf8d] so that it has no side-effects on autoconf/Makefile.msc. (check-in: d3d322f122 user: stephan tags: cygwin-fixes)
10:39
Disable the [d1ba200234f40b84|count-of-view optimization] if any subquery is DISTINCT, as the optimization does not work in that case. (check-in: bae270b988 user: drh tags: branch-3.49)
10:36
Fix the build by rerunning test/mkpragmatab.tcl. (check-in: 167d6314c5 user: drh tags: branch-3.49)
10:32
Disable the [d1ba200234f40b84|count-of-view optimization] if any subquery is DISTINCT, as the optimization does not work in that case. Bug reported by forum post a860f5fb2e. (check-in: d7013b6393 user: drh tags: trunk)
09:54
Add tf.bat target to Makefile.msc to facilitate running of individual test scripts via testfixture.exe. (check-in: 6f24da264c user: stephan tags: cygwin-fixes)
2025-03-08
06:53
Test app/script patches from Jan Nijtmans for cygwin. Add/replace many more sentinel arguments for TCL variadic functions which specifically need a NULL trailing argument. With this, 'make test' on cygwin runs to completion for me, with 134 of 329227 tests failing. MSC build fails the same 13 tests which fail for me in trunk. (check-in: 84d8fcfca1 user: stephan tags: cygwin-fixes)
2025-03-07
06:54
os_win.c patches for Cygwin (described in the cygwin-fixes branch wiki page). Makefile.msc's test target on trunk fails the same 13 tests as this branch. (check-in: 655c60d192 user: stephan tags: cygwin-fixes)
2025-03-06
14:40
Merge trunk into the cygwin-fixes branch (which was inadvertently branched too early). (check-in: a7863b2e2f user: stephan tags: cygwin-fixes)