SQLite

Timeline
Login

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

259 check-ins using file src/vdbe.h version 9676348d

2025-02-03
17:54
Fix a use-after-free case in fts5 provoked by fuzzdata8.db. Tcl test case pending. (Closed-Leaf check-in: a4962df6 user: dan tags: fuzz-data)
17:45
New test case for test/fuzzdata8.db (check-in: 8a882f97 user: drh tags: fuzz-data)
2025-01-30
17:04
Fix a problem causing the write-lock to be held when it should not be in some circumstances following a SEH exception. (Leaf check-in: 7eb5accb user: dan tags: win32-enable-setlk)
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)
15:26
Have sqlite3_enable_setlk(-1) configure indefinite blocking locks where they are supported. (check-in: 62009565 user: dan tags: win32-enable-setlk)
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:59
Minor cleanups to the previous checkin. No functional changes. (check-in: 0146a0da user: stephan tags: branch-3.48)
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)
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: eedf4536 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: 6d3a3d4e 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: 946f33cd 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: d7c07581 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: af65a902 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: dc74bd89 user: dan tags: bedrock)
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:05
Fix a copy/paste typo in the output of vfstrace for xDlClose(). (check-in: ceafa92e user: drh tags: branch-3.48)
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: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: bfb7f499 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: 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)
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: 4a7eb492 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: 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:49
Fix a race condition causing SQLite to use a busy-handler for an operation that should not. (check-in: 6ab9ed8e user: dan tags: win32-enable-setlk)
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:42
Have fts5 better handle OOM errors from sqlite3_blob_close(). (check-in: 7ffa7e02 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: 10c91f9c 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: 92b06a4c 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: 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:41
Fix date/time computations to deal with the sub-millisecond rounding problem. (check-in: 55091181 user: drh tags: branch-3.48)
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)
15:45
Explain the lack of docs in autoconf/Makefile.in and refer interested readers to main.mk in canonical tree. Minor cleanups and fixes in tool/mkautoconfamal.sh. (Closed-Leaf check-in: e5bbc242 user: stephan tags: autoconf-to-autosetup)
15:21
Increase the version number to 3.48.1. (check-in: 3e006d23 user: drh tags: branch-3.48)
15:16
Remove an assert() in the unix file locking logic that is not true if alternative VFS "unix-excl" is used for a read-only connection. (check-in: 2fec6aa9 user: drh tags: branch-3.48)
15:12
The FuncDev.nArg field values -3 and -4 now have special meansing of 1 or more or 2 or more arguments, respectively. This saves space in the built-in function table, resulting in slightly faster performance and a reduced binary size. (check-in: 753fd747 user: drh tags: trunk)
14:40
Remove now-extraneous autoconf/INSTALL and autoconf/configure.ac and update autoconf/README.* to account for the port to autosetup. (check-in: 646667af user: stephan tags: autoconf-to-autosetup)
14:34
Have fts5 better handle OOM errors from sqlite3_blob_close(). (check-in: f418350f user: dan tags: trunk)
12:33
Demonstration of how to extend the if() and iif() SQL functions to support more than 3 arguments. (Leaf check-in: f13ef591 user: drh tags: if-many-args)
11:10
Use Tcl_GetString() instead of Tcl_GetCharLength() to test for a zero-length string in the TCL interface, since that is much more efficient. (check-in: a8d9dcfd user: drh tags: trunk)
2025-01-20
20:50
configure script: work around msys's inability to 'exec' a '.sh' file by prefixing the call with an explicit 'sh', as reported in forum post befb352a42a7cd6d. (check-in: 4cc2dc31 user: stephan tags: branch-3.48)
20:48
configure script: work around msys's inability to 'exec' a '.sh' file by prefixing the call with an explicit 'sh', as reported in forum post befb352a42a7cd6d. (check-in: 25b01f1c user: stephan tags: autoconf-to-autosetup)
19:57
Add 'dist' and missing 'install' pieces to the autoconf bundle. (check-in: 16fa2041 user: stephan tags: autoconf-to-autosetup)
19:19
Remove an assert() in the unix file locking logic that is not true if alternative VFS "unix-excl" is used for a read-only connection. (check-in: bd5dc923 user: drh tags: trunk)
18:34
Fix an assert() that could fail if a virtual table called sqlite3_step() from within the xSync() method while committing a "PRAGMA defer_foreign_keys=1" transaction. (check-in: 9303e663 user: dan tags: branch-3.48)
18:26
Fix an assert() that could fail if a virtual table called sqlite3_step() from within the xSync() method while committing a "PRAGMA defer_foreign_keys=1" transaction. (check-in: 39bdbb3f user: dan tags: trunk)
16:14
configure script: remove an overzealous is-a-file check in the tclsh search which fails to account for implicit .exe extensions on Windows builds. Reported in forum post c27403ef974df9f1. (Same change as [89306d1a4905] but to a different file, as that content was moved since the 3.48 release.) (check-in: 239a3d15 user: stephan tags: trunk)
16:11
configure script: remove an overzealous is-a-file check in the tclsh search which fails to account for implicit .exe extensions on Windows builds. Reported in forum post c27403ef974df9f1. (check-in: 89306d1a user: stephan tags: branch-3.48)
2025-01-19
21:47
Get libsqlite3.so and .a building in the autoconf bundle. (check-in: 88cee3fc user: stephan tags: autoconf-to-autosetup)
19:51
Get the CLI shell building in the autoconf bundle. (check-in: 241cdbc4 user: stephan tags: autoconf-to-autosetup)
19:14
Add an SQLITE_TESTCTRL_OPTIMIZATION mask that can disable the query planner heuristics that are designed to help with star queries. (check-in: fec4ff18 user: drh tags: trunk)
18:58
Initial work towards converting the autoconf bundle to autosetup. Currently non-functional. (check-in: d7708372 user: stephan tags: autoconf-to-autosetup)
18:32
Further refactoring of auto.def to simplify creation of variant builds like the autoconf bundle. (check-in: f806c563 user: stephan tags: trunk)
16:26
Minor internal refactoring of auto.def to support the pending autoconf subdir port to autosetup. No functional changes. (check-in: 01ff3758 user: stephan tags: trunk)
14:53
Move some of the auto.def functions into autosetup/sqlite-config.tcl for re-use in the pending migration of the autoconf bundle to autosetup. This is just reorg, no functional changes. (check-in: 2f1e9499 user: stephan tags: trunk)
2025-01-18
23:44
Enable automatic query-time indexes for WITHOUT ROWID tables. (check-in: 8534af5b user: drh tags: trunk)
21:19
Add a simple test case (many more are coming soon to TH3). Fix an obsolete assert(). (Closed-Leaf check-in: aa829a13 user: drh tags: without-rowid-autoidx)
21:00
Add support for automatic query-time indexes on WITHOUT ROWID tables. (check-in: 89c4cbd9 user: drh tags: without-rowid-autoidx)
16:06
When cross-compiling, change the CFLAGS default to exclude -g, per /chat discussion prompted by forum post 9a67df63eda9925c. (check-in: 67558248 user: stephan tags: branch-3.48)
16:05
When cross-compiling, change the CFLAGS default to exclude -g, per /chat discussion prompted by forum post 9a67df63eda9925c. (check-in: 4309da2c user: stephan tags: trunk)
13:52
When running make install, avoid the -s (strip) flag when cross-compiling, as it only works for the build platform. Reported in forum post 9a67df63eda9925c. (check-in: cc29664f user: stephan tags: branch-3.48)
13:51
When running make install, avoid the -s (strip) flag when cross-compiling, as it only works for the build platform. Reported in forum post 9a67df63eda9925c. Also remove the undocumented and unused --soname=auto option. (check-in: 230e49c1 user: stephan tags: trunk)
2025-01-17
23:49
For the purpose of the query planner heuristic added by [38db9b5c83], a query should only count as a star query if the fact tables are connected to the dimension table by an INNER JOIN. If a LEFT JOIN is used, then the fact tables are constrained to be in inner loops anyhow and so the heuristic does not make any sense. But it does interfere with AUTOMATIC index creation, which causes the performance regression reported by forum post d87570a1455. (check-in: 0852c57e user: drh tags: trunk)
17:09
Enhance a comment on a test case to add recent context. (check-in: c2647d1b user: drh tags: trunk)
15:56
Typo fix in speedtest.md. (check-in: 36027cf3 user: stephan tags: trunk)
15:39
Improvements to the speedtest.tcl script. Add documentation on how to use the script. (check-in: eb3853d0 user: drh tags: trunk)
12:32
Add the test/speedtest.tcl script to simplify performance and size testing. (check-in: ad7b3867 user: drh tags: trunk)
10:42
Fix a potential one-byte buffer overrun when reading from the Windows console in the CLI. (check-in: 42bcc7c1 user: drh tags: branch-3.48)
10:39
Fix a potential one-byte buffer overrun when reading from the Windows console in the CLI. Forum post 95e17b8f5c. This problem was introduced by check-in [abfe488ed67e2e35], which was an attempt to get the Windows build working on MingGW. (check-in: 4d967596 user: drh tags: trunk)
2025-01-16
20:46
speedtest1: further improvements to the "json" testset. (check-in: c4750f7c user: drh tags: trunk)
20:08
speedtest1: Improvements to the "json" testset. Better balance in "mix1". (check-in: 2cc73c5e user: drh tags: trunk)
17:19
Revamp the "json" testset in speedtest1. (check-in: d3350883 user: drh tags: trunk)
14:37
Add the "json" test case to speedtest1 and include it in "mix1". (check-in: 2db3a3ee user: drh tags: trunk)
14:06
Speedtest1 enhancements: (1) Add the ability to scale performance of tests sets using "/NNN" after the testset name, even for testsets in a comma-separated list. (2) Add the "mix1" macro testset. (check-in: 85667b3a user: drh tags: trunk)
13:10
wasm: after generating the .js/.mjs file, strip out all of the generated pieces which create Emscripten call() bindings for the sqlite3 APIs, as we don't use those binding, so both the setup time and the memory they use installing WASM proxy bindings is wasted. This eliminates some 200 superfluous/unused bindings from the init process. (check-in: 020d2c75 user: stephan tags: trunk)
12:15
When generating the autoconf snapshot, replaces the Libs.private line from sqlite3.pc.in with one compatible with the legacy build, as reported in forum post e40b9b424a. (check-in: fe471547 user: stephan tags: trunk)
09:27
Replace use of Emscripten's Module.postRun() with a custom callback so that we get consistent library init timing with both Emscripten 3.1.x and 4.0.x. Details and discussion are in Emscripten ticket #23420. (check-in: 4863a70a user: stephan tags: trunk)
01:47
When two indexes have the same cost, use the narrower one (the one with the smaller average on-disk row width). (check-in: 39855967 user: drh tags: trunk)
2025-01-15
22:58
Check-in [da9124fee28c155c] broken the new SQLITE_IOCAP_SUBPAGE_READ mechanism for inhibiting direct-overflow-read. This check-in fixes the problem. (check-in: f741ffc0 user: drh tags: branch-3.48)
21:13
Check-in [da9124fee28c155c] broken the new SQLITE_IOCAP_SUBPAGE_READ mechanism for inhibiting direct-overflow-read. This check-in fixes the problem. (check-in: 113078d5 user: drh tags: trunk)
21:11
Re-enable comment-stripping in the JS dist builds. (check-in: 5decfea3 user: stephan tags: branch-3.48)
21:09
Teach tool/stripccomments.c that a backslash immediately preceeding a forward slash means that that forward slash cannot be the start of a comment. This is intended to allow JavaScript regular expressions containing \/* (like the one introduced in emsdk 4.0.0) to pass through properly. Re-enable comment-stripping in the JS dist builds. (check-in: db21d6cc user: stephan tags: trunk)
21:00
Work around a behavior change in emsdk 4.0.0 which breaks the load/init timing of the wasm module. (check-in: c0f0d263 user: stephan tags: branch-3.48)
20:53
Work around a behavior change in emsdk 4.0.0 which breaks the load/init timing of the wasm module. (check-in: 00a75018 user: stephan tags: trunk)
20:23
When choosing between two indexes with the same cost, pick the one with the smaller predicted number of bytes per row. (Closed-Leaf check-in: d4bd0d42 user: drh tags: consider-idx-width)
19:30
Variable names and conditional logic simplified in where.c. These changes are cosmetic only and do not affect the resuling machine code. (check-in: dbc2d6a2 user: drh tags: trunk)
15:27
Fix a typo in a wasm makefile var name, noting that this doesn't actually fix anything because the var in question is not used when building 'clean' or 'distclean'. (check-in: 7cfc75a6 user: stephan tags: trunk)
14:31
Disable the C-style comment stripper in the JS dist build, as explained in forum post 529c20d344. (check-in: 76ffc70f user: stephan tags: branch-3.48)
14:28
Disable the C-style comment stripper in the JS dist build, as explained in forum post 529c20d344. (check-in: a9475e76 user: stephan tags: trunk)
13:35
Fix another problem that was causing underestimates of index size. (Later:) Closed this branch as I don't think it is the correct approach to the problem. Maybe I'll change my mind later, but that's the decision for now. (Closed-Leaf check-in: a1690ecd user: drh tags: analyze-row-size)
12:45
Have windows SQLITE_ENABLE_SETLK_TIMEOUT builds block indefinitely if the busy-timeout is set to 0x7FFFFFFF. (check-in: daefcafe user: dan tags: win32-enable-setlk)
12:38
Fix issues with the prior check-ins on this branch. The code seems to work now, though many tests fail because of the new sqlite_stat1.stat text. (check-in: be26698a user: drh tags: analyze-row-size)
00:46
Some bug fixes to the previous. Still lots of bugs remaining. (check-in: 76f2bede user: drh tags: analyze-row-size)
00:29
Always include the sz=NNN option in the sqlite_stat1.stat field. (check-in: 9c0d6f29 user: drh tags: analyze-row-size)
2025-01-14
20:47
Change the version number to 3.49.0 to begin the next development cycle. Any patches to 3.48.0 will go on a branch. (check-in: 8165a3d3 user: drh tags: trunk)
16:10
Trying to remove a warning from some compiler that I do not have access to. (check-in: bc6de90c user: drh tags: trunk)
12:28
Version 3.48.0 for the bedrock branch (check-in: fab341c8 user: drh tags: bedrock)
12:21
Version 3.48.0 for the wal2 branch. (check-in: ef970ef0 user: drh tags: wal2)
12:15
Version 3.48.0 for the begin-concurrent branch. (check-in: 56d110b6 user: drh tags: begin-concurrent)
11:05
Version 3.48.0 (check-in: d2fe6b05 user: drh tags: trunk, release, major-release, version-3.48.0)
2025-01-13
13:32
Remove a stray tab character from a comment. (check-in: 315079b1 user: drh tags: trunk)
11:28
GCC 13 has become more quite pedantic about the signature of functions matching the type of pointers through which the functions are called. Make adjustments to extension functions and test procedures to work around this. No changes to the core. (check-in: ed83b791 user: drh tags: trunk)
2025-01-11
16:28
Fix harmless "implicit fall through" warnings that suddenly appeared when I upgraded to gcc-13. (check-in: 3e2875da user: drh tags: trunk)
14:43
Better job at suppressing harmless scan-build warnings. This time testing and working. (check-in: c8479739 user: drh tags: trunk)
13:59
Fix harmless scan-build warnings. Actually, this fixed nothing. The scan-build warnings persist. I should have tested before I checked in. Look for a follow-up shortly. (check-in: b93af6fe user: drh tags: trunk)
09:02
Fix an age-old bug in the lower-level wasm/js helper bits which (A) caused removal of customized WASM func arguments/results conversion to silently fail and (B) triggered a legitimate warning in the Google closure toolchain. Reported in jaccwabyt ticket c5c296e85a7c01360820. (check-in: 99917a5b user: stephan tags: trunk)
2025-01-09
19:57
Update the makefile so that it puts the amalgamation files in a subdirectory in the amalgamation-zip. Forum post b8dd1941e1. (check-in: cef8e88b user: drh tags: trunk)
14:10
When removing an fts5 in secure-delete mode, defer setting the table version to SECUREDELETE until flushing data to disk. This prevents problems that can occur if there is a rollback or statement rollback operation. (check-in: c359e555 user: dan tags: trunk)
2025-01-08
20:43
Fix another assert() failure in fts5. (check-in: 6da37893 user: dan tags: trunk)
15:54
Fix a crash in fts5 that could occur if shadow tables are modified or removed. (check-in: c0b69109 user: dan tags: trunk)
12:51
Cross-link and otherwise improve the various how-to-compile documents. No code changes. (check-in: 5e6ede92 user: drh tags: trunk)
12:25
In the doc/tcl-extension-testing.md document, provide enhanced explanation for why the tcl library needs to be copied into the install directory. (check-in: cff70c85 user: drh tags: trunk)
2025-01-07
18:50
Further refinement to the Tcl extension testing procedure. (check-in: 32b8b078 user: drh tags: trunk)
16:36
Improvements to [14b38ae6ab86a314] so that the Tcl interface is better able to work with boolean values in both Tcl86 and Tcl90. (check-in: 4e85343d user: drh tags: trunk)
15:39
Fix a memory error in test logic introduced by [8704034254938662]. (check-in: 8a56e98d user: drh tags: trunk)
15:00
Typo in the previous check-in. (check-in: 5872d7a0 user: drh tags: trunk)
14:55
Enhancements to the Tcl SQLite extension testing procedures so that they install a full-featured SQLite and so that Tcl is build statically so that there is no need to worry with LD_LIBRARY_PATH. (check-in: c8972e65 user: drh tags: trunk)
12:14
Make the TCL extension aware of the booleanString type within TCL. (check-in: 14b38ae6 user: drh tags: trunk)
11:54
Fix a typo in the previous check-in. (check-in: 7d41885e user: drh tags: trunk)
00:17
Minor fixes to tclsqlite.c to promote portability. (check-in: dd934f03 user: drh tags: trunk)
2025-01-06
23:33
Enhance the makefile to make it easier to build from a read-only source tree. (check-in: f99a70ec user: drh tags: trunk)
21:36
Fix a problem with tool/mksqlite3h.tcl that prevents it from running out of a read-only check-out. (check-in: cb54f006 user: drh tags: trunk)
18:32
Fix a minor problem with the sqlite3_get_table_printf() test interface. No core changes. (check-in: a0df29c7 user: drh tags: trunk)
17:01
Add test case for using both SQLITE_CHANGESETAPPLY_IGNORENOOP and SQLITE_CHANGESETAPPLY_FKNOACTION. (check-in: b1cc53fa user: dan tags: trunk)
2025-01-05
19:58
Further refactoring of the TCL extension test procedure document, for improved clarity and usability. (check-in: bcdaef43 user: drh tags: trunk)
17:16
Refactor the TCL extension test procedure to deal with TCL8.6 and TCL9.0 separately, to simplify the procedures and reduce cognative stress on the tester. (check-in: 52815363 user: drh tags: trunk)
11:40
Fix typo in the tcl-extension-testing.md document. (check-in: 28150c61 user: drh tags: trunk)
11:19
Improvements to TCL extension test procedure description. Improvements to the tclextension-list and tclextension-verify makefile targets to suppress unnecessary output. (check-in: 3e92fea0 user: drh tags: trunk)
2025-01-04
20:50
Improvements to testing and validation of the SQLite TCL extension. (check-in: 9d7597ca user: drh tags: trunk)
20:13
Show the values of $(JIM_TCLSH) and $(VISUALSTUDIOVERSION) in the output of "nmake tcl-env". (check-in: 4270abc0 user: drh tags: trunk)
19:50
Allow the 2nd argument to ".param set" to use previously bound parameters, as suggested by forum post 823e1bd746. (check-in: 13a35ad7 user: drh tags: trunk)
16:30
Fix a problem in the sessions extension allowing changesets containing foreign key violations to be committed under some circumstances. (check-in: e09a0c02 user: dan tags: trunk)
15:52
Add the document describing test procedures for the TCL extension build process. Update the Windows makefile so that it builds the TCL extensions successfully with a default installation of Tcl8.6. (check-in: 3263db92 user: drh tags: trunk)
15:51
Adjust the Windows Makefile.msc so that it can build the tclextension with Tcl8.6 successfully. Updates to the tcl-extension test procedure document. (Closed-Leaf check-in: 0c2cdc63 user: drh tags: test-procedures)
14:10
Add new tcl-extension-testing.md document. The Windows side is not yet working. (check-in: 9dc805df user: drh tags: test-procedures)
2025-01-03
15:15
Merge the latest trunk enhancements into the bedrock branch. (check-in: 4b9497cf user: drh tags: bedrock)
15:12
Merge the latest trunk enhancements into the wal2 branch. (check-in: 0992237c user: drh tags: wal2)
15:07
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 99293f4f user: drh tags: begin-concurrent)
11:51
Add comment to the columnIsGoodIndexCandidate() routine to record the results of a failed experiment. No changes to code. (check-in: 9ee57a30 user: drh tags: trunk)
11:22
Avoid using Int32x32To64() with a 64-bit argument in fileio.c - this level of micro-optimization is not really necessary there. (check-in: 1291b013 user: dan tags: trunk)
2025-01-02
21:23
Improve the treeview output for CteUse objects. (check-in: 2b16d694 user: drh tags: trunk)
18:43
Improvements to the display of subqueries in the FROM clause for treeview output. (Debug and analysis code only - does not affect production builds.) (check-in: 4a2d65cd user: drh tags: trunk)
17:56
Close database connections in test/dbpage.test, for Windows. (check-in: 322d255e user: drh tags: trunk)
15:39
Fix recent test cases so that they work even when auto_vacuum defaults to on. (check-in: 41f6e466 user: drh tags: trunk)
15:27
Add a test case for ROLLBACK TO of database truncate operations made through the sqlite_dbpage vtab. (check-in: eb335beb user: dan tags: trunk)
15:03
Improvements to the way that truncation is implemented in sqlite_dbpage(). (check-in: ac4bb2e4 user: drh tags: trunk)
12:14
Update the build instructions for Windows to note that VS2015 or later is required to avoid the need to install tclsh.exe. (check-in: da0ef056 user: drh tags: trunk)
2025-01-01
18:18
Fix the tool/omittest.tcl script, broken by [d8c0e0184226bdae]. (check-in: 4f6c36a6 user: drh tags: trunk)
12:24
Fix the vfstrace.c extension so that it supports xFetch and xUnfetch. (check-in: c7132b7e user: drh tags: trunk)
2024-12-30
21:23
Add the convenience makefile target (unix-only) "src-archives" that builds the various tarballs and ZIP archives that go on the download page. This is intended to make it easier and less error prone to put up new "draft" download pages for testing. (check-in: 2b17bc49 user: drh tags: trunk)
13:54
New assert() statements to show that the sqlite3_value.db field is initialized for MemArrays. (check-in: 7cd8ccf5 user: drh tags: trunk)
12:29
Add an extra assert() to releaseMemArray() just to prove that the sqlite3_value.db field is never NULL. (check-in: b969ef1d user: drh tags: trunk)
2024-12-29
11:54
Four new assert() statements to help with static analysis. (check-in: e7f7c9d2 user: drh tags: trunk)
2024-12-28
13:04
Show ETC in fuzzcheck with the --spinner option when there is only one input file. (check-in: 809699ae user: drh tags: trunk)
12:32
Fixes to the substr() SQL function so that it can handle ridiculously large numbers in its 2nd and 3rd arguments without signed integer overflows. (check-in: c1de8f91 user: drh tags: trunk)
2024-12-26
16:10
Omit code to link all winShm objects open on a single node into a list. This is no longer required. (check-in: b400ab4b user: dan tags: win32-enable-setlk)
14:40
Merge trunk changes into this branch. (check-in: 3e289309 user: dan tags: win32-enable-setlk)
2024-12-24
14:44
Properly wait for asynchronous results for calls to LockFileEx() on FILE_FLAG_OVERLAPPED files even if LOCKFILE_FAIL_IMMEDIATELY, which usually causes LockFileEx() to return synchronously, is specified. (check-in: 35b3e73c user: dan tags: win32-enable-setlk)
2024-12-22
21:17
In the (debugging) rtreenode() function, do not override an error coming out of sqlite3_result_text(). (check-in: 286559df user: drh tags: trunk)
2024-12-19
20:29
Fix a test case in sqllimits1.test so that it works with the Apple configuration which changes the default SQLITE_MAX_LENGTH. (check-in: 536fff14 user: drh tags: trunk)
19:52
Correction to check-in [a9759fc78d6cb0df] - printf() parameters values must be integers. (check-in: 2db531d1 user: drh tags: trunk)
19:02
The BTree mutex must be held when calling sqlite3BtreeLastPage(). This check-in fixes a bug introduced by [cf8b99e17872c054]. (check-in: e6c30ee5 user: drh tags: trunk)
14:20
Fix the sort4.test module so that the first two test cases are omitted when SQLite has been compiled using SQLITE_MAX_WORKER_THREADS=0. (check-in: 5b96dcf5 user: drh tags: trunk)
14:09
configure script: only set the SQLITE_TEMP_STORE feature flag if --with-tempstore is explicitly set, to avoid colliding with that flag being set by other means via the test fixture scripts. (check-in: c7839b80 user: stephan tags: trunk)
14:08
Fix the Microsoft makefile so that it does not set SQLITE_TEMP_STORE unnecessarily. (check-in: f9b92f95 user: drh tags: trunk)
13:36
Enhance lemon so that it accepts the -U command-line option that undefines a preprocessor macro. (check-in: e2188a3e user: drh tags: trunk)
12:08
Fix additional integer overflow problems in the substr() function. (check-in: 472abb49 user: drh tags: trunk)
2024-12-18
20:29
Fix possible integer oveflow in the second and third argument to substr(). (check-in: b04b4006 user: drh tags: trunk)
20:23
Experimental: If SQLite is compiled with SQLITE_WAL_BIGHASH defined, use hash tables large enough to fit 128K, instead of 4K, entries in the *-shm file. (Leaf check-in: 0cb853ea user: dan tags: bedrock-bighash)
18:29
Avoid 32-bit roundoff error on the second argument to round(). Forum post 170aeab92a. (check-in: a9759fc7 user: drh tags: trunk)
03:41
Rename some var refs in ext/lsm1/Makefile for the new build process. (check-in: 0ce42fa5 user: stephan tags: trunk)
2024-12-17
14:32
Do not attempt to truncate a database in sqlite_dbpage if the database is not larger than the requested truncation size. (check-in: cf8b99e1 user: drh tags: trunk)
2024-12-16
20:30
Optimize deferred allocation of pages on this branch by avoiding BTALLOC_LE. (check-in: b1e80468 user: dan tags: bedrock)
19:31
Fix release test errors on winrt. (check-in: 39bebd50 user: dan tags: win32-enable-setlk)
18:29
Merge divergence-reduction changes into the bedrock branch. (check-in: ec5d7025 user: drh tags: bedrock)
18:16
Sync wal2 with trunk. (check-in: caadbe0c user: drh tags: wal2)
18:13
Further reduction in divergence from trunk. (check-in: e4406a6e user: drh tags: wal2)
18:04
Code formatting changes to make trunk more like wal2. (check-in: 8f725472 user: drh tags: trunk)
17:46
Reduce divergence of wal2 from trunk. (check-in: 90d744d6 user: drh tags: wal2)
15:13
Fix a problem on this branch causing a file-handle to be leaked following an OOM condition. (check-in: 5ca12dc9 user: dan tags: win32-enable-setlk)
13:38
Merge all the latest trunk/wal2 enhancements and fixes into the bedrock branch. (check-in: a0cf2621 user: drh tags: bedrock)
13:32
Sync with trunk. (check-in: eab61945 user: drh tags: wal2)
13:25
Changes for better alignment with the wal2 branch. (check-in: 4fab85b3 user: drh tags: trunk)
13:05
Synchronize the WASM code with trunk. (check-in: 3619baa1 user: drh tags: wal2)
12:41
Merge all the latest trunk enhancements and fixes into the wal2 branch. (check-in: 011ce4ae user: drh tags: wal2)
12:19
Resynchronize the begin-concurrent branch with trunk. (check-in: e4718a04 user: drh tags: begin-concurrent)
12:09
Remove unnecessary divergence from trunk. (check-in: 019b0434 user: drh tags: begin-concurrent)
12:08
Remove unnecessary end-of-line whitespace. (check-in: ae580443 user: drh tags: trunk)
11:19
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: faef90ea user: drh tags: begin-concurrent)
07:03
Tiny makefile/configure script doc tweaks. No functional changes. (check-in: ed5e9126 user: stephan tags: trunk)
2024-12-14
17:36
Merge changes from wal2, including the fix to prevent non-PASSIVE checkpoints from ever taking the writer lock. (check-in: eb8449ea user: dan tags: bedrock)
17:19
Update to walRestartLog() function to make it shorter easier to merge with branch "bedrock". (check-in: 88d7fb2a user: dan tags: wal2)
16:50
Fix a problem with non-PASSIVE wal2 checkpoints sometimes taking the WRITER lock. (check-in: 11d7865a user: dan tags: wal2)
16:41
Do not attempt to switch wal files when writing if the current transaction read from both wal files. This fix is already on branch 'bedrock'. (check-in: 693cc8e8 user: dan tags: wal2)
2024-12-13
20:18
Fix a problem with the output of "PRAGMA wal_checkpoint" introduced long ago by [63483e22c775183e]. (check-in: c5f7bba8 user: dan tags: wal2)
17:01
Merge all recent trunk enhancements and fixes into the wal2 branch. Addendum: This was part of an attempt to reduce divergence. I'm still trying to figure out the best way to do that. (Closed-Leaf check-in: be32067a user: drh tags: mistake)
16:37
Try to reduce incidental divergence between trunk and wal2. (Leaf check-in: 01c8ebfb user: drh tags: wal2-conflict-reduction)
01:29
Fix a harmless compiler warning that comes up when using SQLITE_DEBUG in separate compilation mode. (check-in: 52e0f8ca user: drh tags: trunk)
2024-12-12
20:59
Fix a buffer overread in test code. Add test configurations for ENABLE_SETLK=1 and FOR_WINRT=1 builds to release testing. (check-in: b558db5d user: dan tags: win32-enable-setlk)
15:11
Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: e8d7d68b user: drh tags: trunk)
2024-12-11
15:30
Ensure that all win32 API functions invocations in os_win.c are made via the function table. Fix asan error in test code. (check-in: 2ffdc799 user: dan tags: win32-enable-setlk)
2024-12-10
21:24
Fix a problem with walsetlk.test on windows. (check-in: 704e6567 user: dan tags: win32-enable-setlk)
19:00
Ensure windows may block on a SHARED (but not EXCLUSIVE) DMS lock. (check-in: 55e4e7bb user: dan tags: win32-enable-setlk)
18:12
Fix walsetlk.test to work on unix. (check-in: 798dff04 user: dan tags: win32-enable-setlk)
17:36
Merge latest trunk changes into this branch. (check-in: d67a42d6 user: dan tags: win32-enable-setlk)
12:32
Fix harmless typo in a comment describing the columnMallocFailure() function. (check-in: 0f3b484f user: drh tags: trunk)
2024-12-09
21:01
Bring all the latest trunk fixes and enhancements into the commit-and-continue branch. (Leaf check-in: 19e47df3 user: drh tags: commit-and-continue)
20:46
Make the TCL interface more rebust against very large strings coming out of TCL9. (check-in: e2bae414 user: drh tags: trunk)
20:37
Enhance the ".import" command of the CLI so that it is able to insert into a view that has an instead-of trigger. Forum post 3e03c73150f8b9f8. (check-in: 7dcc3731 user: drh tags: trunk)
13:02
Add NEVER() around branches that seems to have been made obsolete by [a350ea7c6b89725b]. (check-in: cb5bad5c user: drh tags: trunk)
11:47
Further improvements to the decimal-to-float conversion for values close to LARGEST_UINT64. (check-in: 453c9499 user: drh tags: trunk)
11:37
Fix an obscure problem with multiple outer joins, ON clauses and query flattening. Forum thread 5c8a069d23. (check-in: a350ea7c user: dan tags: trunk)
11:12
Fix an obscure problem with multiple outer joins, ON clauses and query flattening. Forum thread 5c8a069d23. (Closed-Leaf check-in: 289daf6c user: dan tags: forum-5c8a069d23-fix)
10:57
Add a note in Makefile.msc about EXTRA_SRC files possibly requiring manual editing. (check-in: a0a36bad user: drh tags: trunk)
10:52
Resynchronize autoconf/Makefile.msc (Closed-Leaf check-in: 8f9c6408 user: drh tags: makefile-fix)
2024-12-08
18:38
Add a note in Makefile.msc about EXTRA_SRC files possibly requiring manual editing, as discussed in forum thread 903f721f3e7c0d25. (check-in: 229c2f01 user: stephan tags: makefile-fix)
2024-12-07
23:29
Merge the latest trunk fixes and enhancements into the bedrock branch. (check-in: 08cfa7e8 user: drh tags: bedrock)
23:24
Update the wal2 branch with the latest trunk enhancements and fixes. (check-in: d3ce95f7 user: drh tags: wal2)
19:57
Yet another iteration of the solution to the floating-point conversion problem - this what avoids complaints about oversize double values from -fsanitize. (check-in: fc6904a5 user: drh tags: trunk)
19:06
A cleaner and more robust solution to the floating-point conversion problem originally fixed by [81342fa6dd03fffb]. (check-in: 351de57f user: drh tags: trunk)
17:08
Fix more harmless compiler warnings. (check-in: f5b8fd77 user: drh tags: trunk)
16:53
Fix harmless compiler warning caused by the previous check-in. (check-in: 462700ae user: drh tags: trunk)
14:48
On x64 hardware, round-trip uint64_t→double→uint64_t conversions fail for values greater than UINT64_MAX-2047. This caused the SQLite text-to-float converter routine to give incorrect results for values between '1.8446744073709550592eNNN' and '1.8446744073709551609eNNN' for any exponent NNN. This problem was introduced by check-in [761d8fd18b0ee868] and first appeared in version 3.47.0 and was reported by forum post 569a7209179a7f5e. Fixed by this check-in. (check-in: 81342fa6 user: drh tags: trunk)
2024-12-06
18:35
Add the SQLITE_PREPARE_DONT_LOG option for sqlite3_prepare_v3(), that prevents errors in the compilation of the SQL from being sent to sqlite3_log(). (check-in: 87040342 user: drh tags: trunk)