SQLite

Timeline
Login

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

387 descendants of major-release

2025-03-28
16:31
Correct two tests in shell1.test which were broken by the addition of new output in [0f11087b8475]. (Leaf check-in: 909dd0a02a user: stephan tags: trunk)
15:36
CLI shell: make (.output off) an alias for (.output /dev/null) or (.output nul), depending on the platform. Discussed in forum post 633979ce307f1cc6. (check-in: 0f11087b84 user: stephan tags: trunk)
14:32
Configure/make doc tweaks. No functional changes. (check-in: dbcc03bd7a user: stephan tags: trunk)
12:43
Update all TEA files to the latest version. All *.vc files should use Windows CRLF (Leaf check-in: aa8dc559cc user: jan.nijtmans tags: tea-update)
08:59
Second round of cygwin fixes: this makes the full "unix" vfs usable with Cygwin as well. Not all tests are working yet. WIP! (Leaf check-in: 648aca5b47 user: jan.nijtmans tags: cygwin-fixes)
07:09
Merge trunk (check-in: 6a449918c2 user: jan.nijtmans tags: cygwin-fixes)
2025-03-27
23:29
Merge cygwin and tclsqlite fixes into trunk. (check-in: 121f4d97f9 user: drh tags: trunk)
18:42
Add an explicit db close to fix a file-is-opened failure in session1.test in cygwin. (check-in: c6e4e1cf2b user: stephan tags: cygwin-fixes)
18:22
Rearrange #includes in FTS3 to avoid a harmless compiler warning. (check-in: c5206cee83 user: drh tags: trunk)
17:30
Fix for forum-post b5fde3596c. Also fix encoding issue for non-ASCII characters. Also includes a fix from Stephan Beal, about a missing <stdint.h> include. (Leaf check-in: e60198001e user: jan.nijtmans tags: tclsqlite-db-copy-fix)
17:25
shell1.test: == => eq (check-in: 99fdd19193 user: jan.nijtmans tags: cygwin-fixes)
14:37
More ==/!= => eq/ne fixes (check-in: 2aa6c4fa6c user: jan.nijtmans tags: cygwin-fixes)
14:32
In Tcl, always use eq/ne for comparing strings, not ==/!= (check-in: f96a5346e3 user: jan.nijtmans tags: cygwin-fixes)
14:13
Merge trunk. Some additional test-fixes for Cygwin (check-in: b36adadfa2 user: jan.nijtmans tags: cygwin-fixes)
10:59
Fix an off-by-one bug in the ".dbtotxt" command from the shell that results in incorrect output. (check-in: 2345094e87 user: drh tags: trunk)
2025-03-26
22:23
Reduce the delay caused by anti-virus retries in Windows when attempting to open a database file with insufficient permission. (check-in: d25c8a6222 user: drh tags: trunk)
17:05
On winOpen(), redo the read-only test on every retry attempt. Just don't retry the winAccess() call. (Closed-Leaf check-in: ccdd67ad9a user: drh tags: winopen-retry)
15:51
Further attempted improvements at fast-fail for an inaccessible database file. (check-in: cdeb21a312 user: drh tags: winopen-retry)
14:45
Attempt to reduce the amount of retry time when trying to open an inaccessible database file on Windows. See forum thread e7991420f5 (check-in: 986e45912c user: drh tags: winopen-retry)
00:02
Merge trunk into cygwin-fixes branch. Add .fossil-settings/binary-glob to squelch warnings about *.db files on Cygwin. (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. (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)
13:49
Cygwin-centric test script tweaks from Jan Nijtmans. (check-in: 9868615b7d user: stephan tags: cygwin-fixes)
13:38
Cygwin-centric fixes from Jan Nijtmans. (check-in: 205979813c user: stephan tags: cygwin-fixes)
09:29
Back out the most significant part of [5c28a17253e2f], as Cygwin is a hybrid. With SQLITE_OS_UNIX it will use POSIX locking, which will misinteract with apps using Windows-style locking. (check-in: 44adf8f387 user: stephan tags: trunk)
09:08
Various typo fixes reported by Daniel Dumitriu. No functional changes. (check-in: 37e6ec7774 user: stephan tags: trunk)
07:48
Additional 'array index is signed char' warning cleanups for the shell and its embedded extensions, analog to [44bd44532d]. (check-in: f31042595b user: stephan tags: trunk)
07:09
Fix a tcl typo in the previous checkin which triggers an error on one machine but not another. (check-in: 646c2821ad user: stephan tags: trunk)
06:25
Have the configure script report cygwin as SQLITE_OS_UNIX instead of SQLITE_OS_WIN, per off-list discussion with Jan Nijtmans. (check-in: 5c28a17253 user: stephan tags: trunk)
2025-03-05
19:39
Have the recover module add "PRAGMA foreign_keys = off" to SQL output. Have the shell tool add ".dbconfig defensive off". (check-in: dcfe3d3292 user: dan tags: trunk)
18:18
Always ignore comments in the schema of a database, even if SQLITE_DBCONFIG_ENABLE_COMMENTS is turned off. (check-in: 373ae3f4de user: drh tags: trunk)
17:26
Update the recovery extension so that it works with encrypted databases. (check-in: b0b66f2115 user: dan tags: trunk)
17:12
Use AtomicRead() and AtomicWrite() to access the pcache1_g.bUnderPressure global, to forestall unnecessary angst from thread analyzers. (check-in: 41ec85637a user: drh tags: trunk)
16:35
Improvement output for ".schema --indent" in the CLI when the schema contains partial indexes with long and complicated WHERE clauses. (check-in: defd7187ff user: drh tags: trunk)
16:30
Improvement output for ".schema --indent" in the CLI when the schema contains partial indexes with long and complicated WHERE clauses. (Leaf check-in: 94c6e8d971 user: drh tags: wrong-branch)
13:39
Update Lemon so that it accepts filename arguments to directives like "%include". Ex: "%include <./subdir/file-to-include.txt>". This was capability needed by pikchr and backported here for safe keeping. SQLite does not need this capability, though it doesn't hurt to have it in tree. (check-in: 52b97a7ad5 user: drh tags: reuse-schema)
2025-03-04
21:37
Minor configure script cleanups which started out as cygwin-specific fixes but ended up just being minor platform-agnostic cleanups. (check-in: 2cda90410a user: stephan tags: trunk)
21:31
Roll back part of [6d87a8efe]: the check for tclsh90.exe (as opposed to tclsh9.0.exe) is incorrect on these platforms (it's an msvc build). Also remove an unused function added in that checkin. (Closed-Leaf check-in: dc84976a7c user: stephan tags: cygwin-fixes)
21:25
tclsqlite3 patch from Christian Werner: replace FILE handles with TCL channels for the db copy command. (check-in: ea1f7f8de4 user: stephan tags: trunk)
19:38
Teach autosetup how to find tclsh v9.0 on cygwin. (check-in: 6d87a8efe5 user: stephan tags: cygwin-fixes)
17:06
Fix pointless comparison of an unsigned integer to less than zero in Lemon. (check-in: 559560da45 user: drh tags: reuse-schema)
07:29
Makefile doc updates. Remove a couple extraneous targets. No functional changes. (check-in: 5a3e22999f user: stephan tags: trunk)
06:29
Minor doc typo fixes via forum post 65bd941da8. (check-in: 6f6a03e93c user: stephan tags: trunk)
05:16
Document the EXTRA_SRC makefile var and add --amalgamation-extra-src=list to the canonical-build configure script as the formal way to pass that at configure-time. (check-in: 44de0ec29a user: stephan tags: trunk)
2025-03-03
16:53
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: b51690e180 user: drh tags: reuse-schema)
16:01
Merge the latest trunk enhancements into the bedrock branch through the wal2 intermediary. (check-in: 2033763007 user: drh tags: bedrock)
15:57
Merge the latest trunk enhancements into the wal2 branch. (check-in: 6baea938f0 user: drh tags: wal2)
15:53
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 051a6b159e user: drh tags: begin-concurrent)
14:15
Internal configure script cleanups. Resolve an as-yet-hypothetical corner case involving the --dev flag mixed with custom CFLAGS containing SQLITE_ENABLE... or SQLITE_OMIT... flags. Fix an unrelated API doc typo reported in forum post 606ea661df. (check-in: 0554c00f32 user: stephan tags: trunk)
11:48
Minor configure script doc tweaks. This is also a note that the basic elements of the build run as-is on Haiku OS Beta 5 but the tcl bits do not (for lack of tclConfig.sh). (check-in: acf9babf0e user: stephan tags: trunk)
2025-03-02
20:29
Ensure that detection of control characters by comparison against 0x1f uses unsigned characters. Forum post 4c344ca61f. (check-in: b7c5ce8421 user: drh tags: trunk)
2025-03-01
23:44
Use SQLITE_EXTRA_INIT_MUTEXED instead of SQLITE_EXTRA_INIT for the SQLITE_WASM_EXTRA_INIT feature, as suggested in forum post 14183b98fc0b1dea. This doesn't make a functional difference now - this is in the name of future-proofing against eventual threading support in wasm. (check-in: 46479c2e30 user: stephan tags: trunk)
11:47
Add an assert() in vdbesort.c to help both humans and static analyzer AIs understand why a particular array cannot overflow. (check-in: a14d4afd50 user: drh tags: trunk)
2025-02-28
15:54
In the CLI, ensure that all calls to ctype.h macros are cast to unsigned char. Apparently cygwin needs this. (check-in: 44bd44532d user: drh tags: trunk)
05:01
Bring the autosetup-related bits up to par with trunk. (check-in: 47fe1c5978 user: stephan tags: branch-3.49)
04:58
Latest upstream autosetup. Fixes two minor corner-case issues which we haven't yet seen in practice. (check-in: 5c2438a719 user: stephan tags: trunk)
01:06
Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. Forum thread c9914addebf3da51. (check-in: 8b5996f45f user: stephan tags: branch-3.49)
2025-02-27
21:17
Approximately 100 typo corrections spanning the whole tree, submitted via forum post 0db9827f0464bc33 and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text. (check-in: f50c21484d user: stephan tags: trunk)
19:40
Reimplement testrunner_data.tcl::trd_get_bin_name() to assume a .exe extension on all platforms not matching "unix", to avoid having to do file-exists checks. (check-in: ce5519102a user: stephan tags: trunk)
16:07
Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. Forum thread c9914addebf3da51. (check-in: 3f57584710 user: drh tags: trunk)
15:55
Merge back a sequence of three changes that were branched due to a build break. (check-in: 6780971597 user: drh tags: trunk)
15:52
Fix build break in [e2bd23f251359e7a]. (Closed-Leaf check-in: 6ed8421103 user: drh tags: build-break)
11:03
Add support for SQLITE_EXTRA_INIT_MUTEXED - like SQLITE_EXTRA_INIT, but is called from within sqlite3_initialize() when the SQLITE_MUTEX_STATIC_MAIN mutex is still held. (check-in: 3cf88d429f user: dan tags: build-break)
03:23
Internal doc typo fixes reported in forum post 01d15f21b6. (check-in: d6514c20ff user: stephan tags: build-break)
2025-02-26
19:22
(Edit: Moved to a branch because this breaks "./configure && make devtest")
Teach testrunner how to run local binaries which have a .exe extension. Also teach it to recognized mingw environments (but actually building the test programs there currently doesn't work).
(check-in: e2bd23f251 user: stephan tags: build-break)
18:31
Teach testrunner.tcl to identify an msys environment. (check-in: e9f777ceda user: stephan tags: trunk)
17:11
Undo part of [69e83ab859c], as that order of operations breaks the --prefix=... configure flag. Found a workaround for the library version and OS/environment info being emitted when --help. (check-in: cd2a84a72c user: stephan tags: trunk)
16:15
configure: extend the readline detection a bit so that it can find readline on termux environments without having to be told where it is. Fix a typo in a libedit-related message. (check-in: 52f528c4be user: stephan tags: trunk)
09:14
Shift some bootstrapping configure bits to avoid emitting extra output if --help is specified. (check-in: 69e83ab859 user: stephan tags: trunk)
03:32
Merge trunk into the sahpool-digest branch. (check-in: fc1eeb7d1f user: stephan tags: sahpool-digest)
03:20
Fix a bug in mkwasmbuilds.c, introduced in [e4539ebebd89], which caused sqlite3.wasm to get deleted directly after it was built. (check-in: 1a72d1d13e user: stephan tags: trunk)
2025-02-25
21:16
Disable some misuse tests that sometimes cause segfaults during "make releasetest". (check-in: 5856251a7e user: drh tags: trunk)
20:55
Approximately 50 typo fixes, spanning the whole tree, contributed via forum post 006c8fa165083ac3 and individually checked for correctness. Affects only code comments, docs, and a single line of debug output in a test app. (check-in: af928818a0 user: stephan tags: trunk)
20:36
Fix a test case that was broken when the default --escape type was changed by the previous check-in. (check-in: 5f2531e068 user: drh tags: trunk)
20:10
Change the default control-character escape algorithm from "symbol" to "ascii", since the "ascii" algorithm works even on terminals that do not support unicode. (check-in: d35320495e user: drh tags: trunk)
20:02
Fix harmless "unused parameter" compiler warnings. (check-in: 7a68a3ead8 user: drh tags: trunk)
18:10
Improved help messages for the --escape option in the CLI. (check-in: e6784af6d5 user: drh tags: trunk)
16:48
Configure script cosmetics: emit the host/build system info before the directory info. (check-in: 9d5b97dd92 user: stephan tags: branch-3.49)
16:39
Configure script cosmetics: emit the host/build system info before the directory info. (Edit: this mysteriously broke the --prefix=... flag again) (Edit - no, it didn't - it was a test methodology failure.) (check-in: 6f0b6d95db user: stephan tags: trunk)
16:17
Diverse configure tweaks to better support package maintainers on the unix-on-windows environments like msys2, cygwin, and mingw, based largely on feedback in forum posts e6cf2bbb70da2922 and 828fdfe9041fd725. (check-in: 144aacfdf7 user: stephan tags: branch-3.49)
16:11
Restructure [826bad10e9ccd6f71e] as that structure mysteriously breaks the --prefix=... configure flag. (check-in: d284230f68 user: stephan tags: trunk)
15:57
Enhancements to help avoid problems in the CLI when trying display content that contains ANSI escape codes: (1) Add the --escape MODE option to the CLI where MODE is one of "symbol", "ascii", "off" where the default is "symbol". (2) Add the unistr() SQL function. (3) Add the unistr_quote() SQL function. (4) Add the %#Q and %#q conversions in the built-in printf. (check-in: e3e509ae14 user: drh tags: trunk)
15:54
Diverse configure tweaks to better support package maintainers on the unix-on-windows environments like msys2, cygwin, and mingw, based largely on feedback in forum posts e6cf2bbb70da2922 and 828fdfe9041fd725. (check-in: 85b56fb0cc user: stephan tags: trunk)
15:27
Reinstate the assert() removed by [0f6223b8]. Avoid holding a wal-mode write lock after the transaction has been rolled back if an IO error occurs while restarting the wal file. (check-in: 277e150d6a user: dan tags: trunk)
13:33
Fix a test script problem causing errors with Tcl 9. (check-in: dbec2c47d0 user: dan tags: trunk)
12:18
Small performance improvement for the new %#Q conversion in printf. (Closed-Leaf check-in: 17e440781e user: drh tags: unistr)
12:11
Update the autoconf Makefile for nmake to support SETLK_TIMEOUT. (check-in: 46909fe334 user: drh tags: trunk)
11:48
Avoid running certain tests in walsetlk2.test if SQLITE_ENABLE_SETLK_TIMEOUT is set to 2, not 1. (check-in: 86788c08fa user: dan tags: trunk)
11:47
Consolidate two different UTF8 encoders into a single subroutine. (check-in: 6208e49485 user: drh tags: unistr)
11:29
Remove an assert() added by [e88212b1] that is sometimes false. (check-in: 0f6223b8f6 user: dan tags: trunk)
2025-02-24
23:34
Fix the new shellA.test test script so that it works with Valgrind. (check-in: c3949852ce user: drh tags: unistr)
21:27
Support SQLITE_ENABLE_SETLK_TIMEOUT on windows. (check-in: e88212b10a user: dan tags: trunk)
20:53
Slightly simplify auto.def and autoconf/auto.def. (Closed-Leaf check-in: d84f591b96 user: stephan tags: configure-dll-support)
20:13
Use an assert() to fix a harmless (false-positive) scan-build warning in the CLI. (check-in: 4c56cd7392 user: drh tags: unistr)
18:45
autoconf/auto.def: remove a define which made superfluous by [b8bf966628c0]. Add a check/status message for whether to statically link the library into the CLI shell. (check-in: df95e908ca user: stephan tags: configure-dll-support)
18:14
configure: in autoconf build if both --disable-shared and --disable-static-shell are used together, ignore the former and emit a notice to that effect. (check-in: b8bf966628 user: stephan tags: configure-dll-support)
17:50
Only use unistr() in columnar formats when strictly needed. Do not use unistr() in insert mode when --escape is off. More test cases. (check-in: e029828de9 user: drh tags: unistr)
13:51
Add the unistr_quote() function that works like quote(), but also escape control characters using unistr() if necessary. (check-in: e99e37b54b user: drh tags: unistr)
13:27
Bug fix and initial test-case infrastructure for control-character escaping in the CLI. (check-in: c809997792 user: drh tags: unistr)
12:41
Ongoing work to get all the quoting and escaping variations in the CLI working correctly. (check-in: b77aea93e7 user: drh tags: unistr)
12:19
Configure doc tweaks. Move the package version/build dir output so that it does not appear at the start of --help text, but otherwise still appears before the first output from low-level config initialization. (check-in: 826bad10e9 user: stephan tags: configure-dll-support)
11:21
Further consolidation of auto.def and autoconf/auto.def. Note in configure --help that --disable-largefile is a legacy option which has no effect on the library but may influence the generated sqlite_cfg.h. (check-in: 17fd6836f3 user: stephan tags: configure-dll-support)
10:52
Merge latest changes from trunk into this branch. (Closed-Leaf check-in: 55324d1c86 user: dan tags: win32-enable-setlk)
10:30
Move the configure output about the SQLite version and build dirs up, so that they appear before any tests for the C compiler and such. (check-in: 83e0f3d138 user: stephan tags: configure-dll-support)
08:42
Further consolidation of the main auto.def and the autoconf auto.def content into sqlite-config.tcl. (check-in: 76a4efa966 user: stephan tags: configure-dll-support)
07:06
Configure-internal doc tweaks. Fix the distclean rules for libsqlite3.dll.a on msys/cygwin/mingw, broken when the DLL basename was changed for those platforms. (check-in: 8641e2c7c8 user: stephan tags: configure-dll-support)
05:10
Add some internal notes about potential changes for the rpath flag handling. (check-in: 6f904f0695 user: stephan tags: configure-dll-support)
04:47
Update jimsh0.c from upstream autosetup to address autosetup ticket #75, triggered by this build in the Gentoo project. (check-in: ffd05de8a3 user: stephan tags: configure-dll-support)
00:40
Make column output modes in the CLI responsive to the --escape setting. (check-in: 14ff5557d4 user: drh tags: unistr)
00:18
Three different --escape modes: symbol, ascii, off. (check-in: b5adb52fc0 user: drh tags: unistr)
2025-02-23
20:50
Further improvements to control-character escapes in the CLI. (check-in: 9c2f974c17 user: drh tags: unistr)
20:20
Work toward VT100-safe output from the CLI by default. (check-in: 44c44620e8 user: drh tags: unistr)
17:55
Add (disabled) infrastructure for disabling use of the rpath linker flag. This is a proactive precautionary measure because how the rpath is used does not match up with what the unix-on-windows environments do with their DLLs. (check-in: 38ba8e837c user: stephan tags: configure-dll-support)
17:24
Internal cleanups to how certain linker flags are tested. (check-in: 6743e3e5b8 user: stephan tags: configure-dll-support)
15:34
Internal configure doc cleanups. Apply the [5ecbe7ddc4] unix-on-windows DLL install dir fix to the canonical build. (check-in: 51b9812df9 user: stephan tags: configure-dll-support)
11:48
The %#Q conversion now adds unistr('...') around the converted string if escape characters were inserted. %#w now works just like %w as escape sequences inside of identifiers are not recognized. (check-in: 997391d420 user: drh tags: unistr)
00:09
Enhance the %Q, %q, and %w printf conversions so that if the alternate-form flag # is present, they transform backslash and control characters into unistr()-style backslash escape codes. (check-in: ffbfcc2bbb user: drh tags: unistr)
2025-02-22
23:18
Prototype implementation of the unistr() SQL function. (check-in: 7cc302de05 user: drh tags: unistr)
17:33
Update the help text to account for [35b1c32f80b9]. (check-in: f2e7355d87 user: stephan tags: configure-dll-support)
17:30
Replace --dll-basename=none with --dll-basename=default. (check-in: 35b1c32f80 user: stephan tags: configure-dll-support)
16:44
Tamp down various harmless compiler warnings. Use "int" in places instead of "u16" or "i16" since the compiler complains less and generates faster code. (check-in: 742827f049 user: drh tags: trunk)
16:31
On unix-on-windows platforms, if either of --out-implib or --dll-basename are not provided, auto-enable them. Add the 'none' special value to those flags to specifically disable the environment-specific handling of those flags. (check-in: 486400801a user: stephan tags: configure-dll-support)
14:58
Ensure that [08c9e56f60] uses an absolute path when appending .exe to mksourceid. (check-in: 906d27f7a6 user: stephan tags: configure-dll-support)
14:53
Random non-functional configure script cleanups. (check-in: 2ee7310980 user: stephan tags: configure-dll-support)
14:53
tool/mksqlite3h.tcl: when invoking the mksourceid binary, add a .exe to it, if needed, to appease msys2. (check-in: 08c9e56f60 user: stephan tags: configure-dll-support)
11:40
Fix an incorrect assert added by [d7729dbbf231d57c]. (check-in: eeea11278b user: drh tags: trunk)
00:01
Fix installation rules for import lib in the autoconf bundle, broken by recent refactoring in this branch. (check-in: 95b71fc7e9 user: stephan tags: configure-dll-support)
2025-02-21
23:43
Rename configure-defined ENABLE_SHARED/STATIC makefile vars to ENABLE_LIB_... so that they're consistent between the canonical and autoconf builds (baby steps towards further configure code consolidation). (check-in: a7647fd077 user: stephan tags: configure-dll-support)
23:27
Configure docs/help text tweaks. No functional changes. (check-in: 701cc1aff4 user: stephan tags: configure-dll-support)
22:46
Only use the platform-specific --dll-basename if that option is explicitly provided, else use libsqlite3. (check-in: 69bacfdce5 user: stephan tags: configure-dll-support)
22:39
Don't quote dir name in makefile deps, as the quotes are part of the name in that context. (check-in: b0b9e92599 user: stephan tags: configure-dll-support)
22:35
Ensure that the prefix/bin dir exists on msys/cygwin installations before installing the DLL there. (check-in: 5ecbe7ddc4 user: stephan tags: configure-dll-support)
21:58
Add --dll-basename flag to give clients control over the DLL's base name. Split the DLL installation makefile rules into digestible, platform-specific chunks. On Windows-side Unix-like environments, install the DLL into the bin dir. Requires testing and feedback from those platforms' package maintainers to confirm it follows the expectated conventions. (check-in: 8d5fed807b user: stephan tags: configure-dll-support)
20:35
The number of declared columns in an index is limited to SQLITE_LIMIT_COLUMN. But the actual number of columns in the implementation might need to be twice as much to account for the primary key at the end. Ensure that the code is able to deal with this. This is a correction to check-in [d7729dbbf231d57c]. (check-in: 5822feec43 user: drh tags: trunk)
20:28
Extend --out-implib to optionally specify the import lib's name. Add as-yet-unused internals for specifying the DLL's base name (which differs across the Windows-side Unix-esque environments). (check-in: 12a55d343f user: stephan tags: configure-dll-support)
20:22
Makefile-internal var renaming in prep for pending portability-related changes in the handling of DLLs. No functional/build interface changes. (check-in: ebf41fc90a user: stephan tags: trunk)
17:03
Detect when a UNIQUE or PRIMARY KEY on a WITHOUT ROWID table would need to use more than SQLITE_LIMIT_COLUMN columns and raise an error. Also include some unrelated compiler warning fixes. (check-in: d7729dbbf2 user: drh tags: trunk)
03:22
configure: in several places where support for -Wl,... linker flags are checked, ensure that the check invokes the linker (not just the compiler) to avoid false positives. This allows us to remove the AIX-specific handling and --disable-rpath bits added in [a15e0f680], as well as make several similar checks more robust. (check-in: 47c43fcb51 user: stephan tags: branch-3.49)
03:19
configure: in several places where support for -Wl,... linker flags are checked, ensure that the check invokes the linker (not just the compiler) to avoid false positives. This allows us to remove the AIX-specific handling and --disable-rpath bits added in [a15e0f680], as well as make several similar checks more robust. (check-in: 4e81e2c707 user: stephan tags: trunk)
2025-02-20
17:16
Bump VERSION to 3.49.2. (check-in: eaa2503ef6 user: stephan tags: branch-3.49)
17:15
configure: automatically fail the check for rpath on AIX systems and provide a --disable-rpath flag as a fallback for use on platforms which pass the configure-time rpath check but then fail at link-time. Based on discussion in forum thread ae5bd8a84b. (check-in: b6603986e6 user: stephan tags: branch-3.49)
17:14
configure: automatically fail the check for rpath on AIX systems and provide a --disable-rpath flag as a fallback for use on platforms which pass the configure-time rpath check but then fail at link-time. Based on discussion in forum thread ae5bd8a84b. (check-in: a15e0f6802 user: stephan tags: trunk)
16:47
Fix autoconf bundle to honor the --disable-static and --disable-shared flags, as reported in forum post ae5bd8a84b. Problem introduced in 3.49.0. (check-in: e5ea86dccf user: stephan tags: branch-3.49)
16:45
Fix autoconf bundle to honor the --disable-static and --disable-shared flags, as reported in forum post ae5bd8a84b. Problem introduced in 3.49.0. (check-in: 56027220cc user: stephan tags: trunk)
12:34
Experimental prototype for "PRAGMA loadall(TABLE_OR_INDEX)". (Leaf check-in: f24e4d7bc0 user: drh tags: pragma-loadall)
05:39
wasm: do not build the (untested/unsupported) node-for-node build by default, to cut build time by about 15%. Adjacent cleanups in mkwasmbuilds.c. (check-in: e4539ebebd user: stephan tags: trunk)
04:45
wasm makefile docs: make explicit that the node.js-for-node.js builds (as opposed to the node.js-for-browser builds) are both untested and unsupported. (check-in: e1f184889f user: stephan tags: trunk)
04:14
Add the pause/unpause capability to the opfs-sahpool VFS, as discussed in forum thread fe8cdb8431c. Summary: this gives clients a way to eke some degree of multi-page/tab/Worker concurrency out of this VFS but requires that coordination to be implemented client-side, e.g. via a SharedWorker or WebLocks. (check-in: b5dbd52195 user: stephan tags: trunk)
03:27
configure: when running proj-check-function-in-lib, strip -Werror from CFLAGS for the duration of the test. This enables CFLAGS='-Wall -Werror' and the like to be passed to configure without breaking these configure-time checks. (check-in: 4ae9d6c642 user: stephan tags: trunk)
2025-02-19
13:05
Increase default CLI shell .prompt buffer length to 128 bytes, based on discussion in forum post 362f185a6aa. (check-in: 628407f03d user: stephan tags: trunk)
13:02
Slight tweak to the CLI shell help output to help convey that it can accept multiple SQL arguments, as suggested in forum post 20e617feee. (check-in: 82fc67070f user: stephan tags: trunk)
2025-02-18
20:27
Add the SQLITE_MEM5_FAILOVER compile-time option, which if enabled allows MEMSYS5 to go out to the system heap if it is unable to fulfill an allocation request. (Leaf check-in: bdd8617b3f user: drh tags: mem5-failover)
15:11
Have SQLITE_FTS5_ENABLE_TEST_MI builds avoid reading the database schema from within sqlite3_open(). (check-in: 15dc524fd4 user: dan tags: trunk)
14:56
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: b2bf063011 user: drh tags: reuse-schema)
14:48
Merge the latest trunk enhancements into the bedrock branch. (check-in: c09656c621 user: drh tags: bedrock)
14:38
Merge all the latest trunk enhancements into the wal2 branch. (check-in: bd46516595 user: drh tags: wal2)
14:37
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 3c87a6d195 user: drh tags: begin-concurrent)
13:38
Version 3.49.1 (check-in: 873d4e274b user: drh tags: release, branch-3.49, version-3.49.1)
01:16
Update path on the web server for test/snapshot instances of fiddle. (check-in: 57caa3136d user: stephan tags: trunk)
2025-02-17
20:13
Add an ORDER BY to a test case for skip-scan to make the output consistent. (check-in: 9c9c19414a user: drh tags: trunk)
19:44
Fix problems in test script fkey6.test. (check-in: 088e476519 user: dan tags: trunk)
19:06
Fix a typo in a comment in wal.c. (check-in: e0f898f356 user: dan tags: bedrock)
18:09
Additional changes making it easier to prove that integer overflow does not occur. No problems found. (check-in: e846743a87 user: drh tags: trunk)
17:33
Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: 215650a5a1 user: drh tags: trunk)
16:15
Add two generated files to the distclean rules of the autoconf bundle. (check-in: 57eceb361f user: stephan tags: branch-3.49)
16:14
Add two generated files to the distclean rules of the autoconf bundle. (check-in: b59d0ebb22 user: stephan tags: trunk)
16:07
Pull build fix [edb8a78c023] and cleanup [0c085a5ab5] into branch-3.49. (check-in: f10e7ac65b user: stephan tags: branch-3.49)
16:04
Replace TEXE (legacy name) with T.exe (3.48+ name) in two places in makefiles. This fixes distclean of jimsh.exe in the canonical build in non-native Windows environments. (check-in: edb8a78c02 user: stephan tags: trunk)
14:27
Harden the SQLITE_DBCONFIG_LOOKASIDE interface against misuse. This is a simplification of [1ec4c308c76c69fb] appropriate for use in a patch release. (check-in: 78c4994c1c user: drh tags: branch-3.49)
14:16
Harden the SQLITE_DBCONFIG_LOOKASIDE interface against misuse, such as described in forum post 48f365daec. Enhancements to the SQLITE_DBCONFIG_LOOKASIDE documentation. Test cases in TH3. (check-in: 1ec4c308c7 user: drh tags: trunk)
10:58
Fix a typo (a missing ")") in a comment that is used to generate documentation. No changes to code. (check-in: ea21685658 user: drh tags: trunk)
2025-02-16
19:16
Internal reordering/re-grouping of some configure flags. No functional changes. (check-in: 0c085a5ab5 user: stephan tags: trunk)
18:16
Re-add the --disable-static-shell configure feature to the autoconf bundle. It got lost in the autoconf-to-autosetup port, as reported in forum post cc219ee7044. (check-in: e9035c6c89 user: stephan tags: branch-3.49)
18:14
Re-add the --disable-static-shell configure feature to the autoconf bundle. It got lost in the autoconf-to-autosetup port, as reported in forum post cc219ee7044. (check-in: 47e817f663 user: stephan tags: trunk)
13:49
Update autoconf/Makefile.msc from tool/mkmsvcmin.tcl. (check-in: 9ffe94d2ea user: stephan tags: trunk)
13:13
API naming typo reported in forum post 416f2d8dec. No functional changes. (check-in: 0cfb9e234e user: stephan tags: trunk)
11:23
Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments. (check-in: cf6b162de5 user: drh tags: branch-3.49)
11:20
Remove the autoconf/tea/configure.ac check from tool/srctree-check.tcl since that file no longer exists. (check-in: ff879e8e7d user: drh tags: branch-3.49)
10:57
Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments. (check-in: 498e3f1cf5 user: drh tags: trunk)
10:50
Cleanup of the changes for this branch. (Leaf check-in: 9349398e15 user: drh tags: default-in-values-2)
2025-02-15
23:47
Bug fixes in the INSERT logic for VALUES containing DEFAULT terms. (check-in: 2b129c3761 user: drh tags: default-in-values-2)
23:03
Fixes to the INSERT of DEFAULT in VALUES clauses. Add the ability to UPDATE to DEFAULT. (check-in: 1902a0c168 user: drh tags: default-in-values-2)
21:53
Fix the error message text for misuse of the DEFAULT keyword. (check-in: fd1b868372 user: drh tags: default-in-values-2)
20:31
An alternative implementation of the default-in-values feature that is cleaner (it avoids dodgy poking about in the parser LALR stack looking for errors) and has less performance impact in the common case where DEFAULT is not used. (check-in: a3d831378d user: drh tags: default-in-values-2)
17:29
Remove tea version check from tool/srctree-check.tcl, as it's obsoleted by [be265559]. (check-in: 1860ea060b user: stephan tags: trunk)
16:29
Automate update of the library version number in autoconf/tea/configure.ac as part of the tool/mkautoconfamal.sh process. (check-in: d5c0be36fc user: stephan tags: branch-3.49)
16:24
DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is '.dll' (cygwin, msys2, etc.), as suggested in forum post 28bb79638844c328. (check-in: d94ad54577 user: stephan tags: branch-3.49)
16:24
Automate update of the library version number in autoconf/tea/configure.ac as part of the tool/mkautoconfamal.sh process, per /chat discussion. (check-in: be265559a3 user: stephan tags: trunk)
16:12
DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is '.dll' (cygwin, msys2, etc.), as suggested in forum post 28bb79638844c328. (check-in: d743410665 user: stephan tags: trunk)
14:13
A cleaner workaround for [6a21d6a2]. (check-in: 4678044122 user: stephan tags: branch-3.49)
14:12
A cleaner workaround for [6a21d6a2], provided by autosetup's creator. (check-in: 334ed723d0 user: stephan tags: trunk)
2025-02-14
18:18
More informative output for the pthread feature test. (check-in: adf042fba6 user: stephan tags: branch-3.49)
18:17
More informative output for the pthread feature test. (check-in: 01b9ed73ca user: stephan tags: trunk)
18:07
Make failure to find pthreads support non-fatal unless --enable-threadsafe is specifically passed in. Build regression reported in forum post 8e0fdb8c0d. (check-in: f8843b8292 user: stephan tags: branch-3.49)
18:06
Make failure to find pthreads support non-fatal unless --enable-threadsafe is specifically passed in. Build regression reported in forum post 8e0fdb8c0d. (check-in: 806ad1ac17 user: stephan tags: trunk)
17:53
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: 03d0c19289 user: stephan tags: branch-3.49)
17:52
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: b0928f2043 user: stephan tags: trunk)
17:25
Work around autosetup --help quirk described in [6a21d6a2ed62]. (check-in: 61726358c5 user: stephan tags: branch-3.49)
17:21
Work around a autosetup --help bug which only(?) triggers on tcl 8.6, introduced by [9978c87139b7b042] and reported upstream as ticket #73. Summary: calling 'options' from a proc, instead of the global scope, triggers an error about an invalid use of 'break'. (check-in: 6a21d6a2ed user: stephan tags: trunk)
16:43
ICU config support: add more details to error messages and correct a typo which would cause a configure crash if --with-icu-config=X refered to a non-executable X. (check-in: 80311f0925 user: stephan tags: branch-3.49)
16:42
ICU config support: add more details to error messages and correct a typo which would cause a configure crash if --with-icu-config=X refered to a non-executable X. (check-in: ff50892665 user: stephan tags: trunk)
10:28
Fix test cases added for [4b4f33d791fe4318] so that they also work when compiling with ICU support. Forum post 2ca8a09a7e (check-in: 5964616dc9 user: drh tags: trunk)
2025-02-13
23:33
Omit an optimization that did not work - it runs faster with the optimization removed. CLOSED: Development on this branch has stopped. See the new implementation in the default-in-values-2 branch. (Closed-Leaf check-in: d67e28cb1b user: drh tags: default-in-values)
19:19
Remove an unnecessary branch. Improvements to error messages. (check-in: f49ddd80b1 user: drh tags: default-in-values)
16:31
When using the --out-implib build option, install the generated .dll.a file to PREFIX/lib. (check-in: 8e8037bafc user: stephan tags: branch-3.49)
16:20
When using the --out-implib build option, install the generated .dll.a file to PREFIX/lib. (check-in: 0dadea0ec8 user: stephan tags: trunk)
16:03
Fix various problems. Appears to be working now. (check-in: 7fd94f1378 user: drh tags: default-in-values)
14:47
Ensure the counts of "deferred FK violations" and "deferred immediate FK violations" are kept separate when "PRAGMA defer_foreign_keys" is used. (check-in: c5190b0fd9 user: dan tags: trunk)
14:45
Bring the 3.49 branch's configure-related files up to par with the current trunk. (check-in: 1cc8d16b63 user: stephan tags: branch-3.49)
11:10
This version still does not work. This is an incremental check-in to save my place so that I can work on other things. (check-in: 2b73eb3fa7 user: drh tags: default-in-values)
2025-02-12
20:54
An attempt to allow the DEFAULT keyword in the VALUES clause of an INSERT. This check-in does not work right. (check-in: 85c108eb0f user: drh tags: default-in-values)
20:19
Fix a few 32-bit overflow problems in showdb.c. (check-in: 9377766647 user: dan tags: trunk)
18:22
Merge the latest trunk changes into the default-in-values branch. (check-in: 480d7c1a1a user: drh tags: default-in-values)
17:21
Have the win32 VFS take a temporary shared lock (instead of the current exclusive) on the pending-byte when taking a SHARED lock on a db. Do not lock the pending-byte at all when taking an EXCLUSIVE lock if RESERVED is not already held. (check-in: 5127509abb user: dan tags: win32-enable-setlk)
16:59
configure --help cleanups and eliminate the use of a JS-esque inner function in sqlite-config.tcl. No functional changes. (check-in: 6df859cd18 user: stephan tags: trunk)
15:31
Remove old function declaration accidentally left in sqlite3session.h. (check-in: 0cfbe349d4 user: dan tags: trunk)
14:51
Tiny tcl comment tweaks. No functional changes. (check-in: da94e551c0 user: stephan tags: trunk)
08:07
Fix test script errors in walsetlk3.test. Tests still don't all pass. (check-in: 56eb4114f8 user: dan tags: win32-enable-setlk)
2025-02-11
19:54
Omit the src/pragma.h file. It is generated by the tool/mkpragmatab.tcl script. The makefiles now know how to build this file for themselves. (check-in: 9709ed1cdf user: drh tags: trunk)
19:40
Omit the src/ctime.c source file, since it is automatically generated by a TCL script. Instead, add rules to the various makefiles to generate ctime.c on demand. (check-in: 958bb5de7c user: drh tags: trunk)
18:32
Update tool/mkctimec.tcl so that sqlite3_compileoption_xxx() APIs report on the SQLITE_ENABLE_SETLK_TIMEOUT option. (check-in: 303e8009ab user: dan tags: win32-enable-setlk)
18:29
Fix "unused variable" warnings in os_unix.c and os_win.c. (check-in: 8e809632ba user: dan tags: win32-enable-setlk)
17:22
Rename a configure-internal function and fix handling of --dump-defines for the autoconf bundle. (check-in: 3f539d8157 user: stephan tags: branch-3.49)
17:20
Rename a configure-internal function and fix handling of --dump-defines for the autoconf bundle. (check-in: 6aa54cc180 user: stephan tags: trunk)
17:13
Move the configure flags definition and handling into autosetup/sqlite-config.tcl to avoid duplication between auto.def and autoconf/auto.def while still giving us a way to filter the canonical-tree-only flags out of the autoconf build. (check-in: 5a964bf3d8 user: stephan tags: branch-3.49)
17:10
Merge latest changes from trunk into this branch. (check-in: e5ec5bb9f4 user: dan tags: win32-enable-setlk)
17:10
Move the configure flags definition and handling into autosetup/sqlite-config.tcl to avoid duplication between auto.def and autoconf/auto.def while still giving us a way to filter the canonical-tree-only flags out of the autoconf build. (check-in: 9978c87139 user: stephan tags: trunk)
16:00
Attempt to improvement performance of multiple OP_Columns that occur in a row. Minimal improvement for a lot of complexity and risk. (Closed-Leaf check-in: 53478f2934 user: drh tags: column-optimization)
13:18
Adapt Fossil SCM patch 3bff7b92d6d, applying -lrt for platforms which need it for one of {fdatasync, nanosleep}. (check-in: 77621fd141 user: stephan tags: branch-3.49)
13:15
Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time. (check-in: 8212f8ee45 user: stephan tags: branch-3.49)
13:13
Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time. (check-in: 75535f2355 user: stephan tags: trunk)
13:00
Adapt Fossil SCM patch 3bff7b92d6d, applying -lrt for platforms which need it for one of {fdatasync, nanosleep}. (check-in: 1768de6e9e user: stephan tags: trunk)
2025-02-10
19:48
Remove a pointless line of code. (check-in: 57b2b812c8 user: drh tags: trunk)
19:12
Add the --size option to the test/speedtest.tcl script. (check-in: 6b9007cb30 user: drh tags: trunk)
18:41
Minor autosetup doc tweaks. (check-in: bb53beb267 user: stephan tags: trunk)
16:34
Make the "mix1" testset the default for speedtest1. (check-in: 7a0c3d0e14 user: drh tags: trunk)
16:13
Enhance speedtest1 with a new testset that calls sqlite3_open() and uses the connection many times. (check-in: ce307addb0 user: drh tags: trunk)
15:58
Add jimsh.exe and jimsh0.exe to the clean rules in Makefile.msc so that stale builds of those files from msys2 and friends do not cause mysterious build errors. (check-in: 44b4e4db32 user: stephan tags: trunk)
15:02
configure: when dlopen() is not found, only fail fatally if --enable-load-extension is explicitly provided, else warn instead. Based on discussion around forum post 2efe9c33bd9021ca. Update proj-indented-notice to behave like its docs say it should when the -error flag is used. (check-in: 7db7eb223e user: stephan tags: branch-3.49)
15:01
configure: when dlopen() is not found, only fail fatally if --enable-load-extension is explicitly provided, else warn instead. Based on discussion around forum post 2efe9c33bd9021ca. Update proj-indented-notice to behave like its docs say it should when the -error flag is used. (check-in: f28e52cbf9 user: stephan tags: trunk)
11:16
Convert some expensive NEVER() and ASSERT() macros into assert()s. (check-in: 4aad891802 user: drh tags: trunk)
00:20
Small performance increase in jsonTranslateBlobToText(). (check-in: 3b1dcac2ee user: drh tags: trunk)
2025-02-09
20:23
Performance optimization to the substr() SQL function. (check-in: ce228ce3d0 user: drh tags: trunk)
19:49
Performance and size optimization for the sqlite3ColumnIndex() routine. (check-in: a93e3fe0ee user: drh tags: trunk)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: 23d25ae267 user: stephan tags: branch-3.49)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: f3a35fdc91 user: stephan tags: trunk)
05:32
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 6c17e4b80c user: stephan tags: branch-3.49)
05:30
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 9ae245cff4 user: stephan tags: trunk)
04:40
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2. (check-in: 705a6d3e0e user: stephan tags: branch-3.49)
04:38
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2. (check-in: 6092b0b86b user: stephan tags: trunk)
04:16
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency. (check-in: 55e0136594 user: stephan tags: trunk)
03:24
wasm: when building in -O0 mode (typical dev mode), use -sASSERTIONS=2, else -sASSERTIONS=0, in response Emscripten checkin 7e3e35cbff9, which adds assertions to check for the condition reported in Emscripten ticket 23420. Update some unrelated JS-side internal docs. (check-in: 1f554610ba user: stephan tags: trunk)
02:41
JS: add a mechanism to the Worker1 exec API to fetch the last_insert_rowid(), as requested in forum post 56bc353901. (check-in: c22c483607 user: stephan tags: trunk)
01:50
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency. (check-in: 012b308b04 user: stephan tags: branch-3.49)
01:30
configure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also do the same for CPPFLAGS and remove those ENABLE/OMIT flags from CFLAGS/CPPFLAGS to mimic legacy build behavior. Strip ENABLE/OMIT flags from BUILD_CFLAGS but do not transfer those to OPT_FEATURE_FLAGS, also to mimic legacy behavior. This is the second part of a fix discussed at forum post 9801e54665afd728. (check-in: dcb44da41f user: stephan tags: branch-3.49)
01:25
configure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also do the same for CPPFLAGS and remove those ENABLE/OMIT flags from CFLAGS/CPPFLAGS to mimic legacy build behavior. Strip ENABLE/OMIT flags from BUILD_CFLAGS but do not transfer those to OPT_FEATURE_FLAGS, also to mimic legacy behavior. This is the second part of a fix discussed at forum post 9801e54665afd728. (check-in: 16d307cc6c user: stephan tags: trunk)
00:54
Add the "star" testset to speedtest1. Include it as part of "mix1". (check-in: f1345b84ea user: drh tags: trunk)
2025-02-08
16:16
Put a 16-byte hash table for column names on each Table object, to speed up column name lookups. (check-in: 11eb8f99e5 user: drh tags: trunk)
14:15
Use the sqlite3ColumnIndex() routine to look up a column in a table, rather than using a custom loop. Performance improvement, size reduction, and complexity decrease. (check-in: 351dbbc2bf user: drh tags: trunk)
13:34
Fix GCC-isms and compiler warnings introduced by recent check-ins [c56092507c967230] and [6e57848fe1e0e2b5]. (check-in: 91102c0437 user: drh tags: trunk)
12:04
Improvements to the symbol table hash: faster lookups with fewer calls to sqlite3StrICmp() for schemas with many symbols and large names. (check-in: 6e57848fe1 user: drh tags: trunk)
11:15
Improvements to the hash table used to store symbols in the schema, so that it works better (requires fewer calls to sqlite3StrICmp()) for large schemas, and uses less code space. (Closed-Leaf check-in: 0318b68c84 user: drh tags: hash-improvements)
2025-02-07
19:18
build: work around a report of (install -d DIR) failing in one environment if DIR already exists. (check-in: 8f7b7840d4 user: stephan tags: trunk)
19:15
build: work around a report of (install -d DIR) failing in one environment if DIR already exists. (check-in: 4bc6fe30c9 user: stephan tags: branch-3.49)
19:09
Fix comments on the Parse.nMaxArgs field so that they are correct. Add assert()s to ensure they are correct. Other Parse changes to reduce the amount of memset() needed to initialize it. (check-in: c56092507c user: drh tags: trunk)
15:49
Further reduction in the amount of memset() needed to initialize the Parse object. (check-in: 45e462c006 user: drh tags: trunk)
14:47
Mac-specific build fixes discussed in forum thread 9dfd5b8fd525a5d7: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib. (check-in: 4b073687ee user: stephan tags: branch-3.49)
14:44
Mac-specific build fixes discussed in forum thread 9dfd5b8fd525a5d7: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib. (Edit: this was merged from [aa0033d5aa] but a post-merge update on my end lost that link.) (check-in: 668bcf327a user: stephan tags: trunk)
13:37
Reduce the amount of memset() needed to initialize the Parse object. (check-in: 284538d848 user: drh tags: trunk)
12:59
configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in forum post 02db2d4240. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas. (check-in: b7c84c04a4 user: stephan tags: branch-3.49)
12:58
configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in forum post 02db2d4240. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas. (check-in: 46f51e2a37 user: stephan tags: trunk)
12:36
Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem reported in the downstream npm subproject and explains the confusion in [4aa025a943a4024094b9] (which has been reverted). (check-in: de3d2e4caa user: stephan tags: branch-3.49)
12:33
Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem reported in the downstream npm subproject and explains the confusion in [4aa025a943a4024094b9] (which has been reverted). (check-in: 65798c09a0 user: stephan tags: trunk)
11:55
Latest upstream jimsh0.c with a slightly different (fconfigure -translation binary) impl. Tested on Win11 and Linux for output compatibility with sqlite3.c/h. (Closed-Leaf check-in: aa0033d5aa user: stephan tags: mac-build-fixes)
11:21
Merge trunk into mac-build-fixes branch and resolve a doc-only merge conflict. (check-in: 5df30deb78 user: stephan tags: mac-build-fixes)
11:18
Fix out-of-tree builds of the autoconf bundle, as reported in forum post a0cd0beb1baa6bef. Bumd version number to 3.49.1. (check-in: 37dbacde3e user: stephan tags: branch-3.49)
11:15
Fix out-of-tree builds of the autoconf bundle, as reported in forum post a0cd0beb1baa6bef. (check-in: d47964a65b user: stephan tags: trunk)
10:51
Use a linker flag check, rather than just an OS check, to determine whether to use the -compatibility/current_version flags. (check-in: 85302582fc user: stephan tags: mac-build-fixes)
02:01
Library-linking and installation fixes for Mac platforms, as discussed in forum post 9dfd5b8fd5. These still require testing on such a platform. (check-in: 940e78dd0e user: stephan tags: mac-build-fixes)
01:43
Bump TEA configure.ac version number. (check-in: a1a9c780d1 user: stephan tags: trunk)
2025-02-06
21:14
This is an experimental change to investigate the feasibility of allow DEFAULT tokens within VALUES clauses attached to INSERT statements. There is a lot of extra code space consumed for such an obscure feature. (check-in: 2ff4129ea0 user: drh tags: default-in-values)
17:29
Adjust the test/speedtest.tcl script so that it uses an on-disk database rather than an in-memory database. (check-in: e93d7aa1db user: drh tags: trunk)
17:10
Fix a harmless typo in a comment. (check-in: ed82272904 user: drh tags: trunk)
13:36
Bump version number to 3.50.0 for the next dev cycle. (check-in: 46d08071f3 user: stephan tags: trunk)
13:35
Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand. (check-in: 44d7ad8ff8 user: stephan tags: branch-3.49)
13:18
Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand. (check-in: 4bac761388 user: stephan tags: trunk)
12:56
Merge version 3.49.0 into the reuse-schema branch. (check-in: 2699ae6e3c user: drh tags: reuse-schema)
12:46
Merge version 3.49.0 into the bedrock branch. (check-in: cc3ce784b0 user: drh tags: bedrock)
12:43
Merge version 3.49.0 into the wal2 branch. (check-in: e194c8e8c7 user: drh tags: wal2)
12:39
Merge version 3.49.0 into begin-concurrent branch. (check-in: 9d3878e95a user: drh tags: begin-concurrent)
11:55
Version 3.49.0 (check-in: 4a7dd425dc user: drh tags: trunk, release, major-release, version-3.49.0)