SQLite

Timeline
Login

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

167 check-ins using file src/vdbe.c version b428a75195

2025-04-16
10:53
Correctly handle the case of a multi-column UNIQUE constraint that contains the ROWID as one of it columns, and then the columns of that UNIQUE are used in a row-value IN operator as a WHERE clause constraint. (Leaf check-in: ba7d5bad32 user: drh tags: branch-3.49)
2025-04-04
22:58
Correct a makefile var name type in the configure script, introduced in [8830f86335]. (check-in: fa29e6a3b7 user: stephan tags: branch-3.49)
21:11
Improve --all flag handling so that combinations of (--all --disable-FEATURE) and (--disable-all --FEATURE) work more intuitively. Add missing handling of the --fts3 flag (it was accepted but ignored before). Partial merge of [26ef0ff4bfbb], minus proj.tcl changes. (check-in: 5db613dd40 user: stephan tags: branch-3.49)
20:58
Account for the Mac-specific -install_name linker flag. See forum post 5651662b8875ec0a. (check-in: 8830f86335 user: stephan tags: branch-3.49)
2025-03-22
23:03
Fixes for two problems with the generate_series() table-valued function. (check-in: f5aea14e6e user: drh tags: branch-3.49)
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)
2025-03-10
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)
2025-02-28
05:01
Bring the autosetup-related bits up to par with trunk. (check-in: 47fe1c5978 user: stephan tags: branch-3.49)
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-26
03:03
More work on the sahpool digest fix. New/fixed versions can read legacy (no digest) files but the reverse is only possible in limited circumstances (when files originated from a legacy version). The burning question is whether the real fix would be to remove this digest check altogether, as it only applies in a very limited context, and the fact that it was broken for some 18 months unnoticed suggests that its value might not be worth the CPU cycles. (check-in: 0df62b776c user: stephan tags: sahpool-digest)
2025-02-25
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: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)
2025-02-21
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)
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)
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)
2025-02-18
13:38
Version 3.49.1 (check-in: 873d4e274b user: drh tags: release, branch-3.49, version-3.49.1)
2025-02-17
16:15
Add two generated files to the distclean rules of the autoconf bundle. (check-in: 57eceb361f user: stephan tags: branch-3.49)
16:07
Pull build fix [edb8a78c023] and cleanup [0c085a5ab5] into branch-3.49. (check-in: f10e7ac65b user: stephan tags: branch-3.49)
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)
2025-02-16
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)
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)
2025-02-15
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)
14:13
A cleaner workaround for [6a21d6a2]. (check-in: 4678044122 user: stephan tags: branch-3.49)
2025-02-14
18:18
More informative output for the pthread feature test. (check-in: adf042fba6 user: stephan tags: branch-3.49)
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)
17:53
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: 03d0c19289 user: stephan tags: branch-3.49)
17:25
Work around autosetup --help quirk described in [6a21d6a2ed62]. (check-in: 61726358c5 user: stephan tags: branch-3.49)
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)
2025-02-13
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)
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)
2025-02-11
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: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)
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)
2025-02-10
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)
2025-02-09
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: 23d25ae267 user: stephan tags: branch-3.49)
05:32
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 6c17e4b80c user: stephan tags: branch-3.49)
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)
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)
2025-02-07
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)
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)
11:55
Version 3.49.0 (check-in: 4a7dd425dc user: drh tags: trunk, release, major-release, version-3.49.0)
2025-02-05
16:08
Fix a harmless unused-parameter compiler warning introduced by [75f3d8744879]. (check-in: 9f28f6694f user: drh tags: trunk)
12:56
Summarize known incompatibilities/gotches between JimTCL and canonical TCL, and their workarounds. Doc changes only. (check-in: 60c932e67b user: stephan tags: trunk)
12:49
Upstream JimTCL patch and minor tcl script tweaks to support (fconfigure -translation binary) for better cross-platform build portability. (check-in: 0974a17c45 user: stephan tags: trunk)
12:02
Attempted improvements to the SQLITE_DBCONFIG_... documentation. (check-in: baac853871 user: drh tags: trunk)
2025-02-04
02:38
Detect and report signed integer overflow in the sumInverse() routine, used by window functions. (check-in: 317e9a470f user: drh tags: trunk)
2025-02-03
23:27
Test case for the FTS3 fix in the previous check-in. This check-in also accidentally includes a change to session that is intended to remove a static analysis warning. (check-in: 459d8f695e user: drh tags: trunk)
23:19
Fix a potential UAF in FTS3. (check-in: 75f3d87448 user: drh tags: trunk)
21:24
New dbsqlfuzz case added to fuzzdata8.db. (Closed-Leaf check-in: 7ee20cfc23 user: drh tags: fuzzer-20250203)
21:04
The Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined. (check-in: 5d81a984c6 user: drh tags: trunk)
18:53
Enhance fuzzcheck so that the --sqlid and --dbid options can take a range of IDs to run. (check-in: 408fa57f04 user: drh tags: trunk)
18:49
Fixes and improved documentation to the new --sqlid and --dbid range options in fuzzcheck. (Closed-Leaf check-in: 59e2663244 user: drh tags: fuzzcheck-improvements)
18:36
Enhance fuzzcheck so that the --sqlid and --dbid options can specify a range of tests to be run. (check-in: cdd0af6f86 user: drh tags: fuzzcheck-improvements)
18:05
Fix for a potential UAF in FTS5. (check-in: e33f2fedda user: drh tags: trunk)
18:01
Improve the JS-side sqlite3_set_auxdata() test to also trigger the case that the aux data actually gets reused. Test changes only, no library code. (check-in: 9f27379d86 user: stephan tags: trunk)
17:34
Rework [76c8435a] to eliminate automatic JS-to-WASM function conversions of sqlite3_set_auxdata() destructors because it can leads to leaks on every call of a UDF. This feature never worked before [76c8435a] but fixing it was ill-conceived because of the memory leakage it introduces. WASM function pointers can still be used as destructors in this context. (check-in: 3fb993af0c user: stephan tags: trunk)
17:21
Add a test app to assist in validating the SAHPool digest calculation fix. (check-in: a1e304b802 user: stephan tags: sahpool-digest)
16:26
Initial work on a fix for the SAHPool VFS's effectively-no-op digest calculation, as reported in ticket #97 of the downstream npm subproject. This requires more testing alongside databases created before this version to ensure that it's backwards-compatible. (check-in: 9234c33f92 user: stephan tags: sahpool-digest)
14:55
Add a more complete test for [76c8435a] and add some commentary about (A) the inability to automatically clean up automatically-generated WASM proxy functions for sqlite3_set_auxdata() destructors and (B) how to deal with (A) to avoid leaking WASM proxy functions. (check-in: d693c2dddb user: stephan tags: trunk)
14:44
Fix the build process on Windows so that it generates identical sqlite3.c, sqlite3.h, and shell.c files on Windows and Unix. This patch also includes a change to JS bindings that got caught up in the branch. (check-in: 91ef45fc29 user: drh tags: trunk)
14:40
Bring the autoconf-tarball Makefile.msc into alignment with the main Makefile.msc. (Closed-Leaf check-in: 52a7a162d1 user: drh tags: windows-build-issue)
14:04
Correct the FuncPtrAdapter signature for the JS binding of sqlite3_set_auxdata(). Reported in the npm subproject, ticket #92. (check-in: 76c8435a5f user: stephan tags: windows-build-issue)
13:20
Adjust the build process to avoid extra CR characters inserted by jimsh on Windows. (check-in: 1f54853932 user: drh tags: windows-build-issue)
12:42
The "clean" target on Makefile.msc should not delete the auto.def file. Bug: causes "make devtest" to fail. Moved to a branch until repaired. (check-in: 72fbcedfb0 user: drh tags: windows-build-issue)
2025-02-02
18:01
Add a header comment to test/speedtest1.c that outlines how to compile the program using historical amalgamation sources, for comparison testing. (check-in: 602d4dd69e user: drh tags: trunk)
16:52
Update to the "--help" output from speedtest1. (check-in: 5216452047 user: drh tags: trunk)
12:15
URL typo fix in code comments. No code changes. (check-in: 002a123094 user: stephan tags: trunk)
2025-02-01
23:49
Add a missing "db2 close" to the ext/session/session_gen.test test module. (check-in: 4068f586dd user: drh tags: trunk)
23:34
Fix a comment typo - in a comment used to generate documentation. (check-in: b8de75eede user: drh tags: trunk)
23:28
Remove an ALWAYS() added by [2567298f4b0fdfeb] because dbsqlfuzz found a way to reach it. The test case was added to TH3. (check-in: d08a7aa898 user: drh tags: trunk)
21:06
Enable SQLITE_ENABLE_NORMALIZE for several test configurations. (check-in: b07c64077a user: drh tags: trunk)
20:53
Fix an issue with sqlite3_normalized_sql() caused by changes needed to support SQLITE_DBCONFIG_ENABLE_COMMENT. (check-in: 79d287a394 user: drh tags: trunk)
09:44
JS doc typo fixes. No functional changes. (check-in: e0d9c74c1c user: stephan tags: trunk)
2025-01-31
20:18
Tweaks to [4b4f33d791fe4318] to make it easier to test. (check-in: 2567298f4b user: drh tags: trunk)
18:56
Fix test case numbering in tests recently added to like3.test. (check-in: 6df2098c54 user: drh tags: trunk)
18:45
Expose the new SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE/WRITE and SQLITE_DBCONFIG_ENABLE_COMMENTS (from [325e547a21955]) to JS/WASM. (check-in: 8da1a9af66 user: stephan tags: trunk)
18:33
Remove an assert() that is not true if a trace-callback is deregistered while there are active statements. Forum post 3547aa1078510686. (check-in: 0ecfc4d0eb user: dan tags: trunk)
17:47
Minor cleanups in the opfs-sahpool pause/unpause API demo. (Closed-Leaf check-in: e205cdc468 user: stephan tags: opfs-sahpool-pause)
16:34
Add the conventional license header to sahpool-worker.js and correct the date on the header in sahpool-pausing.js. (check-in: f7c3026b0d user: stephan tags: opfs-sahpool-pause)
16:25
Add a small test app demonstrating cooperative semi-concurrency of the opfs-sahpool VFS using its un/pauseVfs() APIs. (check-in: 09570c55a2 user: stephan tags: opfs-sahpool-pause)
14:52
Fix a problem with LIKE and GLOB processing in utf-16be databases in cases where the utf-8 encoding of a character ends with the byte 0xBF. Forum post d7b90d92ffbfc61f (check-in: 4b4f33d791 user: dan tags: trunk)
14:52
If any errors occur while processing sqlite_dbpage changes, cancel pending truncate operations. (check-in: 6138e0dc4e user: drh tags: trunk)
14:25
Cleanups in the opfs-sahpool VFS pause/unpause feature and its tests. (check-in: 184ba37702 user: stephan tags: opfs-sahpool-pause)
13:32
Three new options to sqlite3_db_config(): ATTACH_CREATE, ATTACH_WRITE, and COMMENTS. (check-in: 325e547a21 user: drh tags: trunk)
12:39
Merge trunk into opfs-sahpool-pause branch. (check-in: 775a547eca user: stephan tags: opfs-sahpool-pause)
12:30
Minor wasm-specific doc touchups. (check-in: 56b618da90 user: stephan tags: trunk)
12:09
Improvements to the SQLITE_DBCONFIG option documentation. (Closed-Leaf check-in: 59f0ba1006 user: drh tags: extra-security)
11:45
Correct a typo in tool/emcc.sh.in which could cause all of the configure-time work to locate the emcc binary to go unused. Reported in forum post feb325cdde5b6f37. (check-in: f66efd5b53 user: stephan tags: trunk)
01:34
Add the SQLITE_DBCONFIG_ENABLE_COMMENTS setting (default on) to enable or disable the ability to include comments in SQL input text. (check-in: 393749a2e2 user: drh tags: extra-security)
00:54
Merge all the latest trunk changes into the extra-security branch. (check-in: 86ba57561a user: drh tags: extra-security)
2025-01-30
21:12
The reuse-subroutine optimization [c9a3498113074bbc] might have generated byte-code that loops forever. This check-in fixes the problem. (check-in: 0cc4ed8c6e user: drh tags: trunk)
16:07
Remove an unused parameter from an internal-use subroutine in the TCL interface. (check-in: a700692b39 user: drh tags: trunk)
16:00
Improvements to the TCL interface for Tcl9 as suggested by Jan Nijtmans. (check-in: d76c5db866 user: drh tags: trunk)
13:54
Updates to the compile-for-windows.md document. (check-in: bcd22ed686 user: drh tags: trunk)
12:19
Minor code de-duplication across the top-level auto.def and autoconf/auto.def. (check-in: 3c990d77cb user: stephan tags: trunk)
12:01
Disable a test case that (intentionally) does use-after-free, as it does occasionally cause problems even for non-sanitizer builds. (check-in: 23c7d5bea3 user: drh tags: trunk)
11:19
Fix build regression, introduced in [d2fe6b05f38d9d] (3.48.0), in which SQLITE_OMIT and SQLITE_ENABLE flags passed to configure via CFLAGS were not propagated to the OPT_FEATURE_FLAGS list. Reported in forum post 9801e54665afd728. (check-in: ec71d9dcd5 user: stephan tags: trunk)
2025-01-29
18:53
Fix bug in sessions handling of FK constraints introduced by [e09a0c02] (released in 3.48.0). Bug was preventing a changeset containing FK violations from being applied even when the xConflict(CHANGESET_FOREIGN_KEY) returned OMIT. (check-in: d7c0758120 user: dan tags: trunk)
11:28
Simplify how OpfsSAHPoolUtil.unpauseVfs()'s returned promise is handled. (check-in: d651b8da5a user: stephan tags: opfs-sahpool-pause)
11:08
Add experimental support to pause/unpause an SAHPool OPFS VFS, as discussed in forum post fe8cdb8431c32455, the intent being enable a page to relinquish, perhaps temporarily, the VFS such that the VFS's storage can be accessed by another page/tab. (check-in: 1d2683fe9e user: stephan tags: opfs-sahpool-pause)
2025-01-28
20:32
Enhance the if() and iif() SQL functions so that they support any number of arguments greater than or equal to two. Suggested by forum post 40f7867f75f80. (check-in: fb76d184ee user: drh tags: trunk)
19:03
Fix sessions module handling of tables with generated columns. (check-in: 437fb31638 user: dan tags: trunk)
18:03
Fix a copy/paste typo in the output of vfstrace for xDlClose(). (check-in: 1d57b57c85 user: drh tags: trunk)
12:50
Simplify the IdList object to remove unnecessary fields. Performance increases by about 0.8%. (check-in: a4625bb995 user: drh tags: trunk)
10:56
Fix typo in speedtest.md. (check-in: 984a9cc22c user: drh tags: trunk)
01:10
Apparently I got the logic of [abfe488ed67e2e35] confused, even backwards. Change it so that the SQLITE_USE_W32_FOR_CONSOLE_IO macro causes Win32 APIs to be used for console I/O and for stdio to be used otherwise. This is reported to be necessary for builds that use a C-language runtime other than the one provided by Microsoft. This changes if for Windows only. It is a bug fix, though we don't have a test case that will demonstrate a malfunction. (check-in: 925e97e6f4 user: drh tags: trunk)
00:48
Remove an ALWAYS() in the star-query heuristic that is sometimes false if you have a corrupt database. dbsqlfuzz c37ba7728d79859b79c8341b59297e88fba017d3. Test case in TH3. (check-in: 6b9a339628 user: drh tags: trunk)
2025-01-27
21:18
Use hashing to accelerate column matching on INSERT statements. Code is smaller and about 1.8% faster overall according to test/speedtest.tcl. (check-in: 8be956383e user: drh tags: trunk)
17:48
Enhance ./configure to issue an unambiguious error if the pathname to either the source tree or the build directory contains any space characters. (check-in: 614ae5c74f user: drh tags: trunk)
14:12
Avoid splitting a hyperlink across lines in the documentation comment for sqlite3_serialize(). (check-in: 74b770bd44 user: drh tags: trunk)
2025-01-26
23:34
Make two private routines in FTS "static" so that they are not callable from outside of SQLite itself. (check-in: 9b11bed044 user: drh tags: trunk)
20:09
Further comment improvements in the star-query heuristic. Add an ALWAYS() on an unreachable branch to achieve MC/DC. (check-in: 5e18ce68fb user: drh tags: trunk)
17:29
Small size and complexity reduction on the star-query heuristic. Improved comments for the star-query heuristic. (check-in: a7ecb2f4b7 user: drh tags: trunk)
2025-01-25
23:04
Revise the strategy used by the star-query heuristic: Instead of decreasing the cost of all fact-table WhereLoops, increase the run-cost of WhereLoops that are SCANs of dimension tables. (check-in: 1bc09c9e8b user: drh tags: trunk)
14:30
Improvments to debug output on the star-query heuristic. (check-in: b3ebeb0682 user: drh tags: trunk)
00:07
Avoid calling computeMxChoice() after an OOM as some assert()s can fail in that routine if a prior OOM occurred while building the WhereLoop array. (check-in: 8b9e621dbf user: drh tags: trunk)
2025-01-24
20:59
Remove an incorrect ALWAYS() added in check-in [7cfbe14d199bb631]. (check-in: 431a1a29f9 user: drh tags: trunk)
18:37
Clarify handling of a NULL for the 2nd argument to sqlite3_serialize(), as pointed out in forum post 3df7168b90. (check-in: 340edbe554 user: stephan tags: trunk)
16:37
Improve the star-query heuristic so that it does a better job of identifying actual star queries. Also includes improved diagnostic output from the query planner. (check-in: 7cfbe14d19 user: drh tags: trunk)
16:27
The debugging output for WhereLoop objects now shows cost estimate changes due to the star-query heuristic. (Closed-Leaf check-in: a280f5f548 user: drh tags: star-query-heuristic)
15:55
Minor tweaks to the star-query detection and processing. (check-in: 61f76a45ac user: drh tags: star-query-heuristic)
15:41
Correct a version number in autosetup/README.md. (check-in: c338caf0fd user: stephan tags: trunk)
14:51
When looking for star-queries, do not count a table as a dimension table if that table is separated from the fact table by an OUTER or CROSS join or if the table is a self-join. (check-in: 5aebd7df0d user: drh tags: star-query-heuristic)
14:13
Update autosetup/README.md to reflect recent refactoring. (check-in: 601636829b user: stephan tags: trunk)
12:54
Replace a handful of hard tabs in string literals with \t in mkwasmbuilds.c. (check-in: e8e4d497a7 user: stephan tags: trunk)
09:21
Minor additions to ext/wasm/README.md. (check-in: 85747ea165 user: stephan tags: trunk)
09:18
Update ext/wasm/README.md to reflect simplifications permitted by the current configure script behavior. (check-in: 9abb56c6ac user: stephan tags: trunk)
08:58
Remove extraneous are-we-making-clean guards from the generated wasm build rules, as that guard is set at a higher level. Rename a makefile call()able for consistency. (check-in: 7f9074e2a7 user: stephan tags: trunk)
2025-01-23
22:23
wasm: de-list demo-worker1-promiser-esm.html from the test pages because (per Chrome 131) "Module scripts don't support importScripts()", where "don't" means "they used to but no longer do". Edit: this was caused by a build bug, introduced in [0a426a549577b883], which was fixed in [65798c09a00662a3]. (check-in: 4aa025a943 user: stephan tags: trunk)
21:06
Fix a possible infinity loop in debugging-printf logic in the query planner. No changes to production code. (check-in: 9a20b94080 user: drh tags: trunk)
19:44
When running wasm-opt, ignore any failure because it will fail for unknown flags and the set of legal flags will change from version to version. Document the size-reduction effect (or non-effect) of a dozen-odd wasm-opt flags and retain those which demonstrate a wasm file size reduction in -Oz builds (our production build mode). Total size savings: roughly 13kb. (check-in: c9dc581e02 user: stephan tags: trunk)
16:11
Remove some now-dead makefile code, rename a var for consistency, and fix a recipe bug introduced in the previous checkin in the bundler-friendly build. (check-in: 0acd4ef3ad user: stephan tags: trunk)
15:58
Initial support for post-processing wasm files with wasm-opt (if it's available). This currently shaves 12kb off of the release-mode build of sqlite3.wasm but there are many dozens of wasm-opt flags left to try. (check-in: 5d16e3f283 user: stephan tags: trunk)
14:09
Move small parts of ext/wasm/GNUmakefile into ext/wasm/config.make.in and have the configure script populate that, rather than dynamically determining those values on each 'make' invocation. Add a configure-time check for the optional wasm-opt binary in prep for pending experimentation with using it to reduce the wasm file sizes. (check-in: 0a426a5495 user: stephan tags: trunk)
11:21
Remove unnecessary --minify 0 emcc flag from the wasm build, as -g3 implies that capability along with other anti-minification features we rely on. (check-in: 10c91f9cd0 user: stephan tags: trunk)
06:10
Do not strip binaries during 'make install', for consistency with the legacy build and per request from package maintainers. (check-in: cd3fed5c20 user: stephan tags: trunk)
2025-01-22
21:34
Replace the use of the Autools in ./autoconf/ with Autosetup and extend its configure script to include many of the flags available in the canonical build. (check-in: 8c60d4c901 user: stephan tags: trunk)
19:37
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. (check-in: fe0c58d00b user: drh tags: extra-security)
17:18
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. (check-in: c20d21b473 user: drh tags: trunk)
2025-01-21
17:37
Fix date/time computations to deal with the sub-millisecond rounding problem identified in forum post 766a2c9231. (check-in: afb0a5923a user: drh tags: trunk)
16:30
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 post 0025389d0860af82. This change only affects builds that use -DSQLITE_DEBUG. (check-in: 7fb1ae25d1 user: drh tags: trunk)