SQLite

Timeline
Login

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

100 check-ins using file src/vdbe.c version b428a751

2025-02-05
16:08
Fix a harmless unused-parameter compiler warning introduced by [75f3d8744879]. (Leaf check-in: 9f28f669 user: drh tags: trunk)
12:56
Summarize known incompatibilities/gotches between JimTCL and canonical TCL, and their workarounds. Doc changes only. (check-in: 60c932e6 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: 0974a17c user: stephan tags: trunk)
12:02
Attempted improvements to the SQLITE_DBCONFIG_... documentation. (check-in: baac8538 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: 317e9a47 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: 459d8f69 user: drh tags: trunk)
23:19
Fix a potential UAF in FTS3. (check-in: 75f3d874 user: drh tags: trunk)
21:24
New dbsqlfuzz case added to fuzzdata8.db. (Closed-Leaf check-in: 7ee20cfc user: drh tags: fuzzer-20250203)
21:04
The Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined. (check-in: 5d81a984 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: 408fa57f user: drh tags: trunk)
18:49
Fixes and improved documentation to the new --sqlid and --dbid range options in fuzzcheck. (Closed-Leaf check-in: 59e26632 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: cdd0af6f user: drh tags: fuzzcheck-improvements)
18:05
Fix for a potential UAF in FTS5. (check-in: e33f2fed 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: 9f27379d 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: 3fb993af user: stephan tags: trunk)
17:21
Add a test app to assist in validating the SAHPool digest calculation fix. (Leaf check-in: a1e304b8 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: 9234c33f 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: d693c2dd 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: 91ef45fc user: drh tags: trunk)
14:40
Bring the autoconf-tarball Makefile.msc into alignment with the main Makefile.msc. (Closed-Leaf check-in: 52a7a162 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: 76c8435a user: stephan tags: windows-build-issue)
13:20
Adjust the build process to avoid extra CR characters inserted by jimsh on Windows. (check-in: 1f548539 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: 72fbcedf 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: 602d4dd6 user: drh tags: trunk)
16:52
Update to the "--help" output from speedtest1. (check-in: 52164520 user: drh tags: trunk)
12:15
URL typo fix in code comments. No code changes. (check-in: 002a1230 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: 4068f586 user: drh tags: trunk)
23:34
Fix a comment typo - in a comment used to generate documentation. (check-in: b8de75ee 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: d08a7aa8 user: drh tags: trunk)
21:06
Enable SQLITE_ENABLE_NORMALIZE for several test configurations. (check-in: b07c6407 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: 79d287a3 user: drh tags: trunk)
09:44
JS doc typo fixes. No functional changes. (check-in: e0d9c74c user: stephan tags: trunk)
2025-01-31
20:18
Tweaks to [4b4f33d791fe4318] to make it easier to test. (check-in: 2567298f user: drh tags: trunk)
18:56
Fix test case numbering in tests recently added to like3.test. (check-in: 6df2098c 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: 8da1a9af 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: 0ecfc4d0 user: dan tags: trunk)
17:47
Minor cleanups in the opfs-sahpool pause/unpause API demo. (Leaf check-in: e205cdc4 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: f7c3026b 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: 09570c55 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. (check-in: 4b4f33d7 user: dan tags: trunk)
14:52
If any errors occur while processing sqlite_dbpage changes, cancel pending truncate operations. (check-in: 6138e0dc user: drh tags: trunk)
14:25
Cleanups in the opfs-sahpool VFS pause/unpause feature and its tests. (check-in: 184ba377 user: stephan tags: opfs-sahpool-pause)
13:32
Three new options to sqlite3_db_config(): ATTACH_CREATE, ATTACH_WRITE, and COMMENTS. (check-in: 325e547a user: drh tags: trunk)
12:39
Merge trunk into opfs-sahpool-pause branch. (check-in: 775a547e user: stephan tags: opfs-sahpool-pause)
12:30
Minor wasm-specific doc touchups. (check-in: 56b618da user: stephan tags: trunk)
12:09
Improvements to the SQLITE_DBCONFIG option documentation. (Closed-Leaf check-in: 59f0ba10 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: f66efd5b 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: 393749a2 user: drh tags: extra-security)
00:54
Merge all the latest trunk changes into the extra-security branch. (check-in: 86ba5756 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: 0cc4ed8c user: drh tags: trunk)
16:07
Remove an unused parameter from an internal-use subroutine in the TCL interface. (check-in: a700692b user: drh tags: trunk)
16:00
Improvements to the TCL interface for Tcl9 as suggested by Jan Nijtmans. (check-in: d76c5db8 user: drh tags: trunk)
13:54
Updates to the compile-for-windows.md document. (check-in: bcd22ed6 user: drh tags: trunk)
12:19
Minor code de-duplication across the top-level auto.def and autoconf/auto.def. (check-in: 3c990d77 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: 23c7d5be 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: ec71d9dc 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: d7c07581 user: dan tags: trunk)
11:28
Simplify how OpfsSAHPoolUtil.unpauseVfs()'s returned promise is handled. (check-in: d651b8da 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: 1d2683fe 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: fb76d184 user: drh tags: trunk)
19:03
Fix sessions module handling of tables with generated columns. (check-in: 437fb316 user: dan tags: trunk)
18:03
Fix a copy/paste typo in the output of vfstrace for xDlClose(). (check-in: 1d57b57c user: drh tags: trunk)
12:50
Simplify the IdList object to remove unnecessary fields. Performance increases by about 0.8%. (check-in: a4625bb9 user: drh tags: trunk)
10:56
Fix typo in speedtest.md. (check-in: 984a9cc2 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: 925e97e6 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: 6b9a3396 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: 8be95638 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: 614ae5c7 user: drh tags: trunk)
14:12
Avoid splitting a hyperlink across lines in the documentation comment for sqlite3_serialize(). (check-in: 74b770bd 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: 9b11bed0 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: 5e18ce68 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: a7ecb2f4 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: 1bc09c9e user: drh tags: trunk)
14:30
Improvments to debug output on the star-query heuristic. (check-in: b3ebeb06 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: 8b9e621d user: drh tags: trunk)
2025-01-24
20:59
Remove an incorrect ALWAYS() added in check-in [7cfbe14d199bb631]. (check-in: 431a1a29 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: 340edbe5 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: 7cfbe14d 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: a280f5f5 user: drh tags: star-query-heuristic)
15:55
Minor tweaks to the star-query detection and processing. (check-in: 61f76a45 user: drh tags: star-query-heuristic)
15:41
Correct a version number in autosetup/README.md. (check-in: c338caf0 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: 5aebd7df user: drh tags: star-query-heuristic)
14:13
Update autosetup/README.md to reflect recent refactoring. (check-in: 60163682 user: stephan tags: trunk)
12:54
Replace a handful of hard tabs in string literals with \t in mkwasmbuilds.c. (check-in: e8e4d497 user: stephan tags: trunk)
09:21
Minor additions to ext/wasm/README.md. (check-in: 85747ea1 user: stephan tags: trunk)
09:18
Update ext/wasm/README.md to reflect simplifications permitted by the current configure script behavior. (check-in: 9abb56c6 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: 7f9074e2 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". (check-in: 4aa025a9 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: 9a20b940 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: c9dc581e 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: 0acd4ef3 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: 5d16e3f2 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: 0a426a54 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: 10c91f9c 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: cd3fed5c 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: 8c60d4c9 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: fe0c58d0 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: c20d21b4 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: afb0a592 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: 7fb1ae25 user: drh tags: trunk)