SQLite

Timeline
Login

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

308 check-ins using file src/pager.c version 3a1c4e7f69

2025-05-29
20:30
Fix the missing -lm link flag for the sqlite3 shell when building the autoconf bundle with --disable-static-shell, as reported in forum post 5adf1c932a. (Leaf check-in: e6bf6b1b31 user: stephan tags: branch-3.49)
2025-05-07
10:39
Version 3.49.2 (check-in: 17144570b0 user: drh tags: release, branch-3.49, version-3.49.2)
2025-05-06
18:04
Fix a bug in the NOT NULL/IS NULL optimization that can cause invalid data to be used for a column if that column has a CHECK constraint that includes the NOT NULL or IS NULL operator. (check-in: 9d1f01aac9 user: drh tags: branch-3.49)
2025-05-01
16:02
Mistake: Started from the wrong check-out. (Leaf check-in: 9f88f73ce3 user: drh tags: mistake)
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. (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:14
Add two generated files to the distclean rules of the autoconf bundle. (check-in: b59d0ebb22 user: stephan tags: trunk)
16:07
Pull build fix [edb8a78c023] and cleanup [0c085a5ab5] into branch-3.49. (check-in: f10e7ac65b user: stephan tags: branch-3.49)
16:04
Replace TEXE (legacy name) with T.exe (3.48+ name) in two places in makefiles. This fixes distclean of jimsh.exe in the canonical build in non-native Windows environments. (check-in: edb8a78c02 user: stephan tags: trunk)
14:27
Harden the SQLITE_DBCONFIG_LOOKASIDE interface against misuse. This is a simplification of [1ec4c308c76c69fb] appropriate for use in a patch release. (check-in: 78c4994c1c user: drh tags: branch-3.49)
14:16
Harden the SQLITE_DBCONFIG_LOOKASIDE interface against misuse, such as described in forum post 48f365daec. Enhancements to the SQLITE_DBCONFIG_LOOKASIDE documentation. Test cases in TH3. (check-in: 1ec4c308c7 user: drh tags: trunk)
10:58
Fix a typo (a missing ")") in a comment that is used to generate documentation. No changes to code. (check-in: ea21685658 user: drh tags: trunk)
2025-02-16
19:16
Internal reordering/re-grouping of some configure flags. No functional changes. (check-in: 0c085a5ab5 user: stephan tags: trunk)
18:16
Re-add the --disable-static-shell configure feature to the autoconf bundle. It got lost in the autoconf-to-autosetup port, as reported in forum post cc219ee7044. (check-in: e9035c6c89 user: stephan tags: branch-3.49)
18:14
Re-add the --disable-static-shell configure feature to the autoconf bundle. It got lost in the autoconf-to-autosetup port, as reported in forum post cc219ee7044. (check-in: 47e817f663 user: stephan tags: trunk)
13:49
Update autoconf/Makefile.msc from tool/mkmsvcmin.tcl. (check-in: 9ffe94d2ea user: stephan tags: trunk)
13:13
API naming typo reported in forum post 416f2d8dec. No functional changes. (check-in: 0cfb9e234e user: stephan tags: trunk)
11:23
Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments. (check-in: cf6b162de5 user: drh tags: branch-3.49)
11:20
Remove the autoconf/tea/configure.ac check from tool/srctree-check.tcl since that file no longer exists. (check-in: ff879e8e7d user: drh tags: branch-3.49)
10:57
Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments. (check-in: 498e3f1cf5 user: drh tags: trunk)
10:50
Cleanup of the changes for this branch. (Leaf check-in: 9349398e15 user: drh tags: default-in-values-2)
2025-02-15
23:47
Bug fixes in the INSERT logic for VALUES containing DEFAULT terms. (check-in: 2b129c3761 user: drh tags: default-in-values-2)
23:03
Fixes to the INSERT of DEFAULT in VALUES clauses. Add the ability to UPDATE to DEFAULT. (check-in: 1902a0c168 user: drh tags: default-in-values-2)
21:53
Fix the error message text for misuse of the DEFAULT keyword. (check-in: fd1b868372 user: drh tags: default-in-values-2)
20:31
An alternative implementation of the default-in-values feature that is cleaner (it avoids dodgy poking about in the parser LALR stack looking for errors) and has less performance impact in the common case where DEFAULT is not used. (check-in: a3d831378d user: drh tags: default-in-values-2)
17:29
Remove tea version check from tool/srctree-check.tcl, as it's obsoleted by [be265559]. (check-in: 1860ea060b user: stephan tags: trunk)
16:29
Automate update of the library version number in autoconf/tea/configure.ac as part of the tool/mkautoconfamal.sh process. (check-in: d5c0be36fc user: stephan tags: branch-3.49)
16:24
DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is '.dll' (cygwin, msys2, etc.), as suggested in forum post 28bb79638844c328. (check-in: d94ad54577 user: stephan tags: branch-3.49)
16:24
Automate update of the library version number in autoconf/tea/configure.ac as part of the tool/mkautoconfamal.sh process, per /chat discussion. (check-in: be265559a3 user: stephan tags: trunk)
16:12
DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is '.dll' (cygwin, msys2, etc.), as suggested in forum post 28bb79638844c328. (check-in: d743410665 user: stephan tags: trunk)
14:13
A cleaner workaround for [6a21d6a2]. (check-in: 4678044122 user: stephan tags: branch-3.49)
14:12
A cleaner workaround for [6a21d6a2], provided by autosetup's creator. (check-in: 334ed723d0 user: stephan tags: trunk)
2025-02-14
18:18
More informative output for the pthread feature test. (check-in: adf042fba6 user: stephan tags: branch-3.49)
18:17
More informative output for the pthread feature test. (check-in: 01b9ed73ca user: stephan tags: trunk)
18:07
Make failure to find pthreads support non-fatal unless --enable-threadsafe is specifically passed in. Build regression reported in forum post 8e0fdb8c0d. (check-in: f8843b8292 user: stephan tags: branch-3.49)
18:06
Make failure to find pthreads support non-fatal unless --enable-threadsafe is specifically passed in. Build regression reported in forum post 8e0fdb8c0d. (check-in: 806ad1ac17 user: stephan tags: trunk)
17:53
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: 03d0c19289 user: stephan tags: branch-3.49)
17:52
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: b0928f2043 user: stephan tags: trunk)
17:25
Work around autosetup --help quirk described in [6a21d6a2ed62]. (check-in: 61726358c5 user: stephan tags: branch-3.49)
17:21
Work around a autosetup --help bug which only(?) triggers on tcl 8.6, introduced by [9978c87139b7b042] and reported upstream as ticket #73. Summary: calling 'options' from a proc, instead of the global scope, triggers an error about an invalid use of 'break'. (check-in: 6a21d6a2ed user: stephan tags: trunk)
16:43
ICU config support: add more details to error messages and correct a typo which would cause a configure crash if --with-icu-config=X refered to a non-executable X. (check-in: 80311f0925 user: stephan tags: branch-3.49)
16:42
ICU config support: add more details to error messages and correct a typo which would cause a configure crash if --with-icu-config=X refered to a non-executable X. (check-in: ff50892665 user: stephan tags: trunk)
10:28
Fix test cases added for [4b4f33d791fe4318] so that they also work when compiling with ICU support. Forum post 2ca8a09a7e (check-in: 5964616dc9 user: drh tags: trunk)
2025-02-13
23:33
Omit an optimization that did not work - it runs faster with the optimization removed. CLOSED: Development on this branch has stopped. See the new implementation in the default-in-values-2 branch. (Closed-Leaf check-in: d67e28cb1b user: drh tags: default-in-values)
19:19
Remove an unnecessary branch. Improvements to error messages. (check-in: f49ddd80b1 user: drh tags: default-in-values)
16:31
When using the --out-implib build option, install the generated .dll.a file to PREFIX/lib. (check-in: 8e8037bafc user: stephan tags: branch-3.49)
16:20
When using the --out-implib build option, install the generated .dll.a file to PREFIX/lib. (check-in: 0dadea0ec8 user: stephan tags: trunk)
16:03
Fix various problems. Appears to be working now. (check-in: 7fd94f1378 user: drh tags: default-in-values)
14:47
Ensure the counts of "deferred FK violations" and "deferred immediate FK violations" are kept separate when "PRAGMA defer_foreign_keys" is used. (check-in: c5190b0fd9 user: dan tags: trunk)
14:45
Bring the 3.49 branch's configure-related files up to par with the current trunk. (check-in: 1cc8d16b63 user: stephan tags: branch-3.49)
11:10
This version still does not work. This is an incremental check-in to save my place so that I can work on other things. (check-in: 2b73eb3fa7 user: drh tags: default-in-values)
2025-02-12
20:54
An attempt to allow the DEFAULT keyword in the VALUES clause of an INSERT. This check-in does not work right. (check-in: 85c108eb0f user: drh tags: default-in-values)
20:19
Fix a few 32-bit overflow problems in showdb.c. (check-in: 9377766647 user: dan tags: trunk)
18:22
Merge the latest trunk changes into the default-in-values branch. (check-in: 480d7c1a1a user: drh tags: default-in-values)
17:21
Have the win32 VFS take a temporary shared lock (instead of the current exclusive) on the pending-byte when taking a SHARED lock on a db. Do not lock the pending-byte at all when taking an EXCLUSIVE lock if RESERVED is not already held. (check-in: 5127509abb user: dan tags: win32-enable-setlk)
16:59
configure --help cleanups and eliminate the use of a JS-esque inner function in sqlite-config.tcl. No functional changes. (check-in: 6df859cd18 user: stephan tags: trunk)
15:31
Remove old function declaration accidentally left in sqlite3session.h. (check-in: 0cfbe349d4 user: dan tags: trunk)
14:51
Tiny tcl comment tweaks. No functional changes. (check-in: da94e551c0 user: stephan tags: trunk)
08:07
Fix test script errors in walsetlk3.test. Tests still don't all pass. (check-in: 56eb4114f8 user: dan tags: win32-enable-setlk)
2025-02-11
19:54
Omit the src/pragma.h file. It is generated by the tool/mkpragmatab.tcl script. The makefiles now know how to build this file for themselves. (check-in: 9709ed1cdf user: drh tags: trunk)
19:40
Omit the src/ctime.c source file, since it is automatically generated by a TCL script. Instead, add rules to the various makefiles to generate ctime.c on demand. (check-in: 958bb5de7c user: drh tags: trunk)
18:32
Update tool/mkctimec.tcl so that sqlite3_compileoption_xxx() APIs report on the SQLITE_ENABLE_SETLK_TIMEOUT option. (check-in: 303e8009ab user: dan tags: win32-enable-setlk)
18:29
Fix "unused variable" warnings in os_unix.c and os_win.c. (check-in: 8e809632ba user: dan tags: win32-enable-setlk)
17:22
Rename a configure-internal function and fix handling of --dump-defines for the autoconf bundle. (check-in: 3f539d8157 user: stephan tags: branch-3.49)
17:20
Rename a configure-internal function and fix handling of --dump-defines for the autoconf bundle. (check-in: 6aa54cc180 user: stephan tags: trunk)
17:13
Move the configure flags definition and handling into autosetup/sqlite-config.tcl to avoid duplication between auto.def and autoconf/auto.def while still giving us a way to filter the canonical-tree-only flags out of the autoconf build. (check-in: 5a964bf3d8 user: stephan tags: branch-3.49)
17:10
Merge latest changes from trunk into this branch. (check-in: e5ec5bb9f4 user: dan tags: win32-enable-setlk)
17:10
Move the configure flags definition and handling into autosetup/sqlite-config.tcl to avoid duplication between auto.def and autoconf/auto.def while still giving us a way to filter the canonical-tree-only flags out of the autoconf build. (check-in: 9978c87139 user: stephan tags: trunk)
16:00
Attempt to improvement performance of multiple OP_Columns that occur in a row. Minimal improvement for a lot of complexity and risk. (Closed-Leaf check-in: 53478f2934 user: drh tags: column-optimization)
13:18
Adapt Fossil SCM patch 3bff7b92d6d, applying -lrt for platforms which need it for one of {fdatasync, nanosleep}. (check-in: 77621fd141 user: stephan tags: branch-3.49)
13:15
Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time. (check-in: 8212f8ee45 user: stephan tags: branch-3.49)
13:13
Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time. (check-in: 75535f2355 user: stephan tags: trunk)
13:00
Adapt Fossil SCM patch 3bff7b92d6d, applying -lrt for platforms which need it for one of {fdatasync, nanosleep}. (check-in: 1768de6e9e user: stephan tags: trunk)
2025-02-10
19:48
Remove a pointless line of code. (check-in: 57b2b812c8 user: drh tags: trunk)
19:12
Add the --size option to the test/speedtest.tcl script. (check-in: 6b9007cb30 user: drh tags: trunk)
18:41
Minor autosetup doc tweaks. (check-in: bb53beb267 user: stephan tags: trunk)
16:34
Make the "mix1" testset the default for speedtest1. (check-in: 7a0c3d0e14 user: drh tags: trunk)
16:13
Enhance speedtest1 with a new testset that calls sqlite3_open() and uses the connection many times. (check-in: ce307addb0 user: drh tags: trunk)
15:58
Add jimsh.exe and jimsh0.exe to the clean rules in Makefile.msc so that stale builds of those files from msys2 and friends do not cause mysterious build errors. (check-in: 44b4e4db32 user: stephan tags: trunk)
15:02
configure: when dlopen() is not found, only fail fatally if --enable-load-extension is explicitly provided, else warn instead. Based on discussion around forum post 2efe9c33bd9021ca. Update proj-indented-notice to behave like its docs say it should when the -error flag is used. (check-in: 7db7eb223e user: stephan tags: branch-3.49)
15:01
configure: when dlopen() is not found, only fail fatally if --enable-load-extension is explicitly provided, else warn instead. Based on discussion around forum post 2efe9c33bd9021ca. Update proj-indented-notice to behave like its docs say it should when the -error flag is used. (check-in: f28e52cbf9 user: stephan tags: trunk)
11:16
Convert some expensive NEVER() and ASSERT() macros into assert()s. (check-in: 4aad891802 user: drh tags: trunk)
00:20
Small performance increase in jsonTranslateBlobToText(). (check-in: 3b1dcac2ee user: drh tags: trunk)
2025-02-09
20:23
Performance optimization to the substr() SQL function. (check-in: ce228ce3d0 user: drh tags: trunk)
19:49
Performance and size optimization for the sqlite3ColumnIndex() routine. (check-in: a93e3fe0ee user: drh tags: trunk)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: 23d25ae267 user: stephan tags: branch-3.49)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: f3a35fdc91 user: stephan tags: trunk)
05:32
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 6c17e4b80c user: stephan tags: branch-3.49)
05:30
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 9ae245cff4 user: stephan tags: trunk)
04:40
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2. (check-in: 705a6d3e0e user: stephan tags: branch-3.49)
04:38
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2. (check-in: 6092b0b86b user: stephan tags: trunk)
04:16
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency. (check-in: 55e0136594 user: stephan tags: trunk)
03:24
wasm: when building in -O0 mode (typical dev mode), use -sASSERTIONS=2, else -sASSERTIONS=0, in response Emscripten checkin 7e3e35cbff9, which adds assertions to check for the condition reported in Emscripten ticket 23420. Update some unrelated JS-side internal docs. (check-in: 1f554610ba user: stephan tags: trunk)
02:41
JS: add a mechanism to the Worker1 exec API to fetch the last_insert_rowid(), as requested in forum post 56bc353901. (check-in: c22c483607 user: stephan tags: trunk)
01:50
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency. (check-in: 012b308b04 user: stephan tags: branch-3.49)
01:30
configure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also do the same for CPPFLAGS and remove those ENABLE/OMIT flags from CFLAGS/CPPFLAGS to mimic legacy build behavior. Strip ENABLE/OMIT flags from BUILD_CFLAGS but do not transfer those to OPT_FEATURE_FLAGS, also to mimic legacy behavior. This is the second part of a fix discussed at forum post 9801e54665afd728. (check-in: dcb44da41f user: stephan tags: branch-3.49)
01:25
configure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also do the same for CPPFLAGS and remove those ENABLE/OMIT flags from CFLAGS/CPPFLAGS to mimic legacy build behavior. Strip ENABLE/OMIT flags from BUILD_CFLAGS but do not transfer those to OPT_FEATURE_FLAGS, also to mimic legacy behavior. This is the second part of a fix discussed at forum post 9801e54665afd728. (check-in: 16d307cc6c user: stephan tags: trunk)
00:54
Add the "star" testset to speedtest1. Include it as part of "mix1". (check-in: f1345b84ea user: drh tags: trunk)
2025-02-08
16:16
Put a 16-byte hash table for column names on each Table object, to speed up column name lookups. (check-in: 11eb8f99e5 user: drh tags: trunk)
14:15
Use the sqlite3ColumnIndex() routine to look up a column in a table, rather than using a custom loop. Performance improvement, size reduction, and complexity decrease. (check-in: 351dbbc2bf user: drh tags: trunk)
13:34
Fix GCC-isms and compiler warnings introduced by recent check-ins [c56092507c967230] and [6e57848fe1e0e2b5]. (check-in: 91102c0437 user: drh tags: trunk)
12:04
Improvements to the symbol table hash: faster lookups with fewer calls to sqlite3StrICmp() for schemas with many symbols and large names. (check-in: 6e57848fe1 user: drh tags: trunk)
11:15
Improvements to the hash table used to store symbols in the schema, so that it works better (requires fewer calls to sqlite3StrICmp()) for large schemas, and uses less code space. (Closed-Leaf check-in: 0318b68c84 user: drh tags: hash-improvements)
2025-02-07
19:18
build: work around a report of (install -d DIR) failing in one environment if DIR already exists. (check-in: 8f7b7840d4 user: stephan tags: trunk)
19:15
build: work around a report of (install -d DIR) failing in one environment if DIR already exists. (check-in: 4bc6fe30c9 user: stephan tags: branch-3.49)
19:09
Fix comments on the Parse.nMaxArgs field so that they are correct. Add assert()s to ensure they are correct. Other Parse changes to reduce the amount of memset() needed to initialize it. (check-in: c56092507c user: drh tags: trunk)
15:49
Further reduction in the amount of memset() needed to initialize the Parse object. (check-in: 45e462c006 user: drh tags: trunk)
14:47
Mac-specific build fixes discussed in forum thread 9dfd5b8fd525a5d7: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib. (check-in: 4b073687ee user: stephan tags: branch-3.49)
14:44
Mac-specific build fixes discussed in forum thread 9dfd5b8fd525a5d7: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib. (Edit: this was merged from [aa0033d5aa] but a post-merge update on my end lost that link.) (check-in: 668bcf327a user: stephan tags: trunk)
13:37
Reduce the amount of memset() needed to initialize the Parse object. (check-in: 284538d848 user: drh tags: trunk)
12:59
configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in forum post 02db2d4240. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas. (check-in: b7c84c04a4 user: stephan tags: branch-3.49)
12:58
configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in forum post 02db2d4240. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas. (check-in: 46f51e2a37 user: stephan tags: trunk)
12:36
Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem reported in the downstream npm subproject and explains the confusion in [4aa025a943a4024094b9] (which has been reverted). (check-in: de3d2e4caa user: stephan tags: branch-3.49)
12:33
Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem reported in the downstream npm subproject and explains the confusion in [4aa025a943a4024094b9] (which has been reverted). (check-in: 65798c09a0 user: stephan tags: trunk)
11:55
Latest upstream jimsh0.c with a slightly different (fconfigure -translation binary) impl. Tested on Win11 and Linux for output compatibility with sqlite3.c/h. (Closed-Leaf check-in: aa0033d5aa user: stephan tags: mac-build-fixes)
11:21
Merge trunk into mac-build-fixes branch and resolve a doc-only merge conflict. (check-in: 5df30deb78 user: stephan tags: mac-build-fixes)
11:18
Fix out-of-tree builds of the autoconf bundle, as reported in forum post a0cd0beb1baa6bef. Bumd version number to 3.49.1. (check-in: 37dbacde3e user: stephan tags: branch-3.49)
11:15
Fix out-of-tree builds of the autoconf bundle, as reported in forum post a0cd0beb1baa6bef. (check-in: d47964a65b user: stephan tags: trunk)
10:51
Use a linker flag check, rather than just an OS check, to determine whether to use the -compatibility/current_version flags. (check-in: 85302582fc user: stephan tags: mac-build-fixes)
02:01
Library-linking and installation fixes for Mac platforms, as discussed in forum post 9dfd5b8fd5. These still require testing on such a platform. (check-in: 940e78dd0e user: stephan tags: mac-build-fixes)
01:43
Bump TEA configure.ac version number. (check-in: a1a9c780d1 user: stephan tags: trunk)
2025-02-06
21:14
This is an experimental change to investigate the feasibility of allow DEFAULT tokens within VALUES clauses attached to INSERT statements. There is a lot of extra code space consumed for such an obscure feature. (check-in: 2ff4129ea0 user: drh tags: default-in-values)
17:29
Adjust the test/speedtest.tcl script so that it uses an on-disk database rather than an in-memory database. (check-in: e93d7aa1db user: drh tags: trunk)
17:10
Fix a harmless typo in a comment. (check-in: ed82272904 user: drh tags: trunk)
13:36
Bump version number to 3.50.0 for the next dev cycle. (check-in: 46d08071f3 user: stephan tags: trunk)
13:35
Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand. (check-in: 44d7ad8ff8 user: stephan tags: branch-3.49)
13:18
Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand. (check-in: 4bac761388 user: stephan tags: trunk)
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:15
Portability tweaks to the code generators so that they produce identical output with JimTCL on Windows and Unix systems (that is: no Windows-style line endings). (Leaf check-in: fddcfbcafd user: stephan tags: branch-3.48)
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:34
Remove an assert() that is not true if a trace-callback is deregistered while there are active statements. (check-in: d53c58243d user: dan tags: branch-3.48)
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:58
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: 9d59f8a5f2 user: drh tags: branch-3.48)
14:54
If any errors occur while processing sqlite_dbpage changes, cancel pending truncate operations. (check-in: 3f8d190251 user: drh tags: branch-3.48)
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:46
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: 66bf67842b user: stephan tags: branch-3.48)
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:16
The reuse-subroutine optimization might have generated byte-code that loops forever. This check-in fixes the problem. (check-in: a8714e8c44 user: drh tags: branch-3.48)
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:59
Minor cleanups to the previous checkin. No functional changes. (check-in: 0146a0da53 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: ec71d9dcd5 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: 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)
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)
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: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)
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:41
Fix date/time computations to deal with the sub-millisecond rounding problem. (check-in: 55091181cc 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: 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)
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: e5bbc2428f user: stephan tags: autoconf-to-autosetup)
15:21
Increase the version number to 3.48.1. (check-in: 3e006d23a5 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: 2fec6aa948 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: 753fd747f2 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: 646667af8c user: stephan tags: autoconf-to-autosetup)
14:34
Have fts5 better handle OOM errors from sqlite3_blob_close(). (check-in: f418350f3f 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: f13ef59184 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: a8d9dcfd23 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: 4cc2dc31a3 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: 25b01f1c9a user: stephan tags: autoconf-to-autosetup)
19:57
Add 'dist' and missing 'install' pieces to the autoconf bundle. (check-in: 16fa20413e 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: bd5dc92368 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: 9303e66340 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: 39bdbb3f6d 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: 239a3d1573 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: 89306d1a49 user: stephan tags: branch-3.48)
2025-01-19
21:47
Get libsqlite3.so and .a building in the autoconf bundle. (check-in: 88cee3fc7c user: stephan tags: autoconf-to-autosetup)
19:51
Get the CLI shell building in the autoconf bundle. (check-in: 241cdbc40a 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: fec4ff185a user: drh tags: trunk)
18:58
Initial work towards converting the autoconf bundle to autosetup. Currently non-functional. (check-in: d7708372ff 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: f806c563a2 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: 01ff375847 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: 2f1e94994f user: stephan tags: trunk)
2025-01-18
23:44
Enable automatic query-time indexes for WITHOUT ROWID tables. (check-in: 8534af5b94 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: aa829a131a user: drh tags: without-rowid-autoidx)
21:00
Add support for automatic query-time indexes on WITHOUT ROWID tables. (check-in: 89c4cbd952 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: 675582481c 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: 4309da2ca5 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: cc29664f97 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: 230e49c10e 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: 0852c57ee2 user: drh tags: trunk)
17:09
Enhance a comment on a test case to add recent context. (check-in: c2647d1bd1 user: drh tags: trunk)
15:56
Typo fix in speedtest.md. (check-in: 36027cf340 user: stephan tags: trunk)
15:39
Improvements to the speedtest.tcl script. Add documentation on how to use the script. (check-in: eb3853d081 user: drh tags: trunk)
12:32
Add the test/speedtest.tcl script to simplify performance and size testing. (check-in: ad7b386726 user: drh tags: trunk)
10:42
Fix a potential one-byte buffer overrun when reading from the Windows console in the CLI. (check-in: 42bcc7c115 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: 4d96759694 user: drh tags: trunk)
2025-01-16
20:46
speedtest1: further improvements to the "json" testset. (check-in: c4750f7cf7 user: drh tags: trunk)
20:08
speedtest1: Improvements to the "json" testset. Better balance in "mix1". (check-in: 2cc73c5e08 user: drh tags: trunk)
17:19
Revamp the "json" testset in speedtest1. (check-in: d33508836b user: drh tags: trunk)
14:37
Add the "json" test case to speedtest1 and include it in "mix1". (check-in: 2db3a3ee37 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: 85667b3a57 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: 020d2c7528 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: fe47154799 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: 4863a70ac6 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: 398559678f 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: f741ffc01e 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: 113078d555 user: drh tags: trunk)