SQLite

Timeline
Login

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

50 check-ins occurring around 1bc09c9e8bd77ac4.

2025-01-30
11:16
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: eedf453694 user: stephan tags: branch-3.48)
10:55
Make two private routines in FTS "static" so that they are not callable from outside of SQLite itself. (check-in: 6d3a3d4e51 user: drh tags: branch-3.48)
2025-01-29
19:02
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: 946f33cd45 user: dan tags: branch-3.48)
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)
17:26
Consolidate memory allocations made while loading stat4 data in a way that may be more efficient on systems under load. (check-in: af65a902d1 user: dan tags: bedrock)
15:11
If SQLITE_ENABLE_WAL2NOCKSUM is defined, then SQLite calculates the frame checksums used in wal2 mode based on the previous checksum and the frame header only, not the frame body only. This risks corruption following a OS crash or power failure, but also speeds up writes in wal2 mode. (check-in: dc74bd8915 user: dan tags: bedrock)
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:05
Fix a copy/paste typo in the output of vfstrace for xDlClose(). (check-in: ceafa92e7f user: drh tags: branch-3.48)
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:37
The new 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: bfb7f49954 user: drh tags: branch-3.48)
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)
11:50
Add the sqlite3_setlk_timeout() API. For setting the timeout used by SQLITE_ENABLE_SETLK_TIMEOUT blocking locks without also setting the regular retry-based busy-timeout. (check-in: 4a7eb49279 user: dan tags: win32-enable-setlk)
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:49
Fix a race condition causing SQLite to use a busy-handler for an operation that should not. (check-in: 6ab9ed8eef user: dan tags: win32-enable-setlk)
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:42
Have fts5 better handle OOM errors from sqlite3_blob_close(). (check-in: 7ffa7e0244 user: dan tags: branch-3.48)
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:12
Do not strip binaries during 'make install', for consistency with the legacy build and per request from package maintainers. (check-in: 92b06a4c91 user: stephan tags: branch-3.48)
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)