SQLite

Timeline
Login

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

776 check-ins using file ext/icu/icu.c version 9837f461

2025-03-03
16:53
Merge the latest trunk enhancements into the reuse-schema branch. (Leaf check-in: b51690e1 user: drh tags: reuse-schema)
16:01
Merge the latest trunk enhancements into the bedrock branch through the wal2 intermediary. (Leaf check-in: 20337630 user: drh tags: bedrock)
15:57
Merge the latest trunk enhancements into the wal2 branch. (Leaf check-in: 6baea938 user: drh tags: wal2)
15:53
Merge all the latest trunk enhancements into the begin-concurrent branch. (Leaf check-in: 051a6b15 user: drh tags: begin-concurrent)
14:15
Internal configure script cleanups. Resolve an as-yet-hypothetical corner case involving the --dev flag mixed with custom CFLAGS containing SQLITE_ENABLE... or SQLITE_OMIT... flags. Fix an unrelated API doc typo reported in forum post 606ea661df. (Leaf check-in: 0554c00f user: stephan tags: trunk)
11:48
Minor configure script doc tweaks. This is also a note that the basic elements of the build run as-is on Haiku OS Beta 5 but the tcl bits do not (for lack of tclConfig.sh). (check-in: acf9babf user: stephan tags: trunk)
2025-03-02
20:29
Ensure that detection of control characters by comparison against 0x1f uses unsigned characters. Forum post 4c344ca61f. (check-in: b7c5ce84 user: drh tags: trunk)
2025-03-01
23:44
Use SQLITE_EXTRA_INIT_MUTEXED instead of SQLITE_EXTRA_INIT for the SQLITE_WASM_EXTRA_INIT feature, as suggested in forum post 14183b98fc0b1dea. This doesn't make a functional difference now - this is in the name of future-proofing against eventual threading support in wasm. (check-in: 46479c2e user: stephan tags: trunk)
11:47
Add an assert() in vdbesort.c to help both humans and static analyzer AIs understand why a particular array cannot overflow. (check-in: a14d4afd user: drh tags: trunk)
2025-02-28
15:54
In the CLI, ensure that all calls to ctype.h macros are cast to unsigned char. Apparently cygwin needs this. (check-in: 44bd4453 user: drh tags: trunk)
05:01
Bring the autosetup-related bits up to par with trunk. (Leaf check-in: 47fe1c59 user: stephan tags: branch-3.49)
04:58
Latest upstream autosetup. Fixes two minor corner-case issues which we haven't yet seen in practice. (check-in: 5c2438a7 user: stephan tags: trunk)
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: 8b5996f4 user: stephan tags: branch-3.49)
2025-02-27
21:17
Approximately 100 typo corrections spanning the whole tree, submitted via forum post 0db9827f0464bc33 and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text. (check-in: f50c2148 user: stephan tags: trunk)
19:40
Reimplement testrunner_data.tcl::trd_get_bin_name() to assume a .exe extension on all platforms not matching "unix", to avoid having to do file-exists checks. (check-in: ce551910 user: stephan tags: trunk)
16:07
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: 3f575847 user: drh tags: trunk)
15:55
Merge back a sequence of three changes that were branched due to a build break. (check-in: 67809715 user: drh tags: trunk)
15:52
Fix build break in [e2bd23f251359e7a]. (Closed-Leaf check-in: 6ed84211 user: drh tags: build-break)
11:03
Add support for SQLITE_EXTRA_INIT_MUTEXED - like SQLITE_EXTRA_INIT, but is called from within sqlite3_initialize() when the SQLITE_MUTEX_STATIC_MAIN mutex is still held. (check-in: 3cf88d42 user: dan tags: build-break)
03:23
Internal doc typo fixes reported in forum post 01d15f21b6. (check-in: d6514c20 user: stephan tags: build-break)
2025-02-26
19:22
(Edit: Moved to a branch because this breaks "./configure && make devtest")
Teach testrunner how to run local binaries which have a .exe extension. Also teach it to recognized mingw environments (but actually building the test programs there currently doesn't work).
(check-in: e2bd23f2 user: stephan tags: build-break)
18:31
Teach testrunner.tcl to identify an msys environment. (check-in: e9f777ce user: stephan tags: trunk)
17:11
Undo part of [69e83ab859c], as that order of operations breaks the --prefix=... configure flag. Found a workaround for the library version and OS/environment info being emitted when --help. (check-in: cd2a84a7 user: stephan tags: trunk)
16:15
configure: extend the readline detection a bit so that it can find readline on termux environments without having to be told where it is. Fix a typo in a libedit-related message. (check-in: 52f528c4 user: stephan tags: trunk)
09:14
Shift some bootstrapping configure bits to avoid emitting extra output if --help is specified. (check-in: 69e83ab8 user: stephan tags: trunk)
03:32
Merge trunk into the sahpool-digest branch. (Leaf check-in: fc1eeb7d user: stephan tags: sahpool-digest)
03:20
Fix a bug in mkwasmbuilds.c, introduced in [e4539ebebd89], which caused sqlite3.wasm to get deleted directly after it was built. (check-in: 1a72d1d1 user: stephan tags: trunk)
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: 0df62b77 user: stephan tags: sahpool-digest)
2025-02-25
21:16
Disable some misuse tests that sometimes cause segfaults during "make releasetest". (check-in: 5856251a user: drh tags: trunk)
20:55
Approximately 50 typo fixes, spanning the whole tree, contributed via forum post 006c8fa165083ac3 and individually checked for correctness. Affects only code comments, docs, and a single line of debug output in a test app. (check-in: af928818 user: stephan tags: trunk)
20:36
Fix a test case that was broken when the default --escape type was changed by the previous check-in. (check-in: 5f2531e0 user: drh tags: trunk)
20:10
Change the default control-character escape algorithm from "symbol" to "ascii", since the "ascii" algorithm works even on terminals that do not support unicode. (check-in: d3532049 user: drh tags: trunk)
20:02
Fix harmless "unused parameter" compiler warnings. (check-in: 7a68a3ea user: drh tags: trunk)
18:10
Improved help messages for the --escape option in the CLI. (check-in: e6784af6 user: drh tags: trunk)
16:48
Configure script cosmetics: emit the host/build system info before the directory info. (check-in: 9d5b97dd user: stephan tags: branch-3.49)
16:39
Configure script cosmetics: emit the host/build system info before the directory info. (Edit: this mysteriously broke the --prefix=... flag again) (Edit - no, it didn't - it was a test methodology failure.) (check-in: 6f0b6d95 user: stephan tags: trunk)
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: 144aacfd user: stephan tags: branch-3.49)
16:11
Restructure [826bad10e9ccd6f71e] as that structure mysteriously breaks the --prefix=... configure flag. (check-in: d284230f user: stephan tags: trunk)
15:57
Enhancements to help avoid problems in the CLI when trying display content that contains ANSI escape codes: (1) Add the --escape MODE option to the CLI where MODE is one of "symbol", "ascii", "off" where the default is "symbol". (2) Add the unistr() SQL function. (3) Add the unistr_quote() SQL function. (4) Add the %#Q and %#q conversions in the built-in printf. (check-in: e3e509ae user: drh tags: trunk)
15:54
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: 85b56fb0 user: stephan tags: trunk)
15:27
Reinstate the assert() removed by [0f6223b8]. Avoid holding a wal-mode write lock after the transaction has been rolled back if an IO error occurs while restarting the wal file. (check-in: 277e150d user: dan tags: trunk)
13:33
Fix a test script problem causing errors with Tcl 9. (check-in: dbec2c47 user: dan tags: trunk)
12:18
Small performance improvement for the new %#Q conversion in printf. (Closed-Leaf check-in: 17e44078 user: drh tags: unistr)
12:11
Update the autoconf Makefile for nmake to support SETLK_TIMEOUT. (check-in: 46909fe3 user: drh tags: trunk)
11:48
Avoid running certain tests in walsetlk2.test if SQLITE_ENABLE_SETLK_TIMEOUT is set to 2, not 1. (check-in: 86788c08 user: dan tags: trunk)
11:47
Consolidate two different UTF8 encoders into a single subroutine. (check-in: 6208e494 user: drh tags: unistr)
11:29
Remove an assert() added by [e88212b1] that is sometimes false. (check-in: 0f6223b8 user: dan tags: trunk)
2025-02-24
23:34
Fix the new shellA.test test script so that it works with Valgrind. (check-in: c3949852 user: drh tags: unistr)
21:27
Support SQLITE_ENABLE_SETLK_TIMEOUT on windows. (check-in: e88212b1 user: dan tags: trunk)
20:53
Slightly simplify auto.def and autoconf/auto.def. (Closed-Leaf check-in: d84f591b user: stephan tags: configure-dll-support)
20:13
Use an assert() to fix a harmless (false-positive) scan-build warning in the CLI. (check-in: 4c56cd73 user: drh tags: unistr)
18:45
autoconf/auto.def: remove a define which made superfluous by [b8bf966628c0]. Add a check/status message for whether to statically link the library into the CLI shell. (check-in: df95e908 user: stephan tags: configure-dll-support)
18:14
configure: in autoconf build if both --disable-shared and --disable-static-shell are used together, ignore the former and emit a notice to that effect. (check-in: b8bf9666 user: stephan tags: configure-dll-support)
17:50
Only use unistr() in columnar formats when strictly needed. Do not use unistr() in insert mode when --escape is off. More test cases. (check-in: e029828d user: drh tags: unistr)
13:51
Add the unistr_quote() function that works like quote(), but also escape control characters using unistr() if necessary. (check-in: e99e37b5 user: drh tags: unistr)
13:27
Bug fix and initial test-case infrastructure for control-character escaping in the CLI. (check-in: c8099977 user: drh tags: unistr)
12:41
Ongoing work to get all the quoting and escaping variations in the CLI working correctly. (check-in: b77aea93 user: drh tags: unistr)
12:19
Configure doc tweaks. Move the package version/build dir output so that it does not appear at the start of --help text, but otherwise still appears before the first output from low-level config initialization. (check-in: 826bad10 user: stephan tags: configure-dll-support)
11:21
Further consolidation of auto.def and autoconf/auto.def. Note in configure --help that --disable-largefile is a legacy option which has no effect on the library but may influence the generated sqlite_cfg.h. (check-in: 17fd6836 user: stephan tags: configure-dll-support)
10:52
Merge latest changes from trunk into this branch. (Closed-Leaf check-in: 55324d1c user: dan tags: win32-enable-setlk)
10:30
Move the configure output about the SQLite version and build dirs up, so that they appear before any tests for the C compiler and such. (check-in: 83e0f3d1 user: stephan tags: configure-dll-support)
08:42
Further consolidation of the main auto.def and the autoconf auto.def content into sqlite-config.tcl. (check-in: 76a4efa9 user: stephan tags: configure-dll-support)
07:06
Configure-internal doc tweaks. Fix the distclean rules for libsqlite3.dll.a on msys/cygwin/mingw, broken when the DLL basename was changed for those platforms. (check-in: 8641e2c7 user: stephan tags: configure-dll-support)
05:10
Add some internal notes about potential changes for the rpath flag handling. (check-in: 6f904f06 user: stephan tags: configure-dll-support)
04:47
Update jimsh0.c from upstream autosetup to address autosetup ticket #75, triggered by this build in the Gentoo project. (check-in: ffd05de8 user: stephan tags: configure-dll-support)
00:40
Make column output modes in the CLI responsive to the --escape setting. (check-in: 14ff5557 user: drh tags: unistr)
00:18
Three different --escape modes: symbol, ascii, off. (check-in: b5adb52f user: drh tags: unistr)
2025-02-23
20:50
Further improvements to control-character escapes in the CLI. (check-in: 9c2f974c user: drh tags: unistr)
20:20
Work toward VT100-safe output from the CLI by default. (check-in: 44c44620 user: drh tags: unistr)
17:55
Add (disabled) infrastructure for disabling use of the rpath linker flag. This is a proactive precautionary measure because how the rpath is used does not match up with what the unix-on-windows environments do with their DLLs. (check-in: 38ba8e83 user: stephan tags: configure-dll-support)
17:24
Internal cleanups to how certain linker flags are tested. (check-in: 6743e3e5 user: stephan tags: configure-dll-support)
15:34
Internal configure doc cleanups. Apply the [5ecbe7ddc4] unix-on-windows DLL install dir fix to the canonical build. (check-in: 51b9812d user: stephan tags: configure-dll-support)
11:48
The %#Q conversion now adds unistr('...') around the converted string if escape characters were inserted. %#w now works just like %w as escape sequences inside of identifiers are not recognized. (check-in: 997391d4 user: drh tags: unistr)
00:09
Enhance the %Q, %q, and %w printf conversions so that if the alternate-form flag # is present, they transform backslash and control characters into unistr()-style backslash escape codes. (check-in: ffbfcc2b user: drh tags: unistr)
2025-02-22
23:18
Prototype implementation of the unistr() SQL function. (check-in: 7cc302de user: drh tags: unistr)
17:33
Update the help text to account for [35b1c32f80b9]. (check-in: f2e7355d user: stephan tags: configure-dll-support)
17:30
Replace --dll-basename=none with --dll-basename=default. (check-in: 35b1c32f user: stephan tags: configure-dll-support)
16:44
Tamp down various harmless compiler warnings. Use "int" in places instead of "u16" or "i16" since the compiler complains less and generates faster code. (check-in: 742827f0 user: drh tags: trunk)
16:31
On unix-on-windows platforms, if either of --out-implib or --dll-basename are not provided, auto-enable them. Add the 'none' special value to those flags to specifically disable the environment-specific handling of those flags. (check-in: 48640080 user: stephan tags: configure-dll-support)
14:58
Ensure that [08c9e56f60] uses an absolute path when appending .exe to mksourceid. (check-in: 906d27f7 user: stephan tags: configure-dll-support)
14:53
Random non-functional configure script cleanups. (check-in: 2ee73109 user: stephan tags: configure-dll-support)
14:53
tool/mksqlite3h.tcl: when invoking the mksourceid binary, add a .exe to it, if needed, to appease msys2. (check-in: 08c9e56f user: stephan tags: configure-dll-support)
11:40
Fix an incorrect assert added by [d7729dbbf231d57c]. (check-in: eeea1127 user: drh tags: trunk)
00:01
Fix installation rules for import lib in the autoconf bundle, broken by recent refactoring in this branch. (check-in: 95b71fc7 user: stephan tags: configure-dll-support)
2025-02-21
23:43
Rename configure-defined ENABLE_SHARED/STATIC makefile vars to ENABLE_LIB_... so that they're consistent between the canonical and autoconf builds (baby steps towards further configure code consolidation). (check-in: a7647fd0 user: stephan tags: configure-dll-support)
23:27
Configure docs/help text tweaks. No functional changes. (check-in: 701cc1af user: stephan tags: configure-dll-support)
22:46
Only use the platform-specific --dll-basename if that option is explicitly provided, else use libsqlite3. (check-in: 69bacfdc user: stephan tags: configure-dll-support)
22:39
Don't quote dir name in makefile deps, as the quotes are part of the name in that context. (check-in: b0b9e925 user: stephan tags: configure-dll-support)
22:35
Ensure that the prefix/bin dir exists on msys/cygwin installations before installing the DLL there. (check-in: 5ecbe7dd user: stephan tags: configure-dll-support)
21:58
Add --dll-basename flag to give clients control over the DLL's base name. Split the DLL installation makefile rules into digestible, platform-specific chunks. On Windows-side Unix-like environments, install the DLL into the bin dir. Requires testing and feedback from those platforms' package maintainers to confirm it follows the expectated conventions. (check-in: 8d5fed80 user: stephan tags: configure-dll-support)
20:35
The number of declared columns in an index is limited to SQLITE_LIMIT_COLUMN. But the actual number of columns in the implementation might need to be twice as much to account for the primary key at the end. Ensure that the code is able to deal with this. This is a correction to check-in [d7729dbbf231d57c]. (check-in: 5822feec user: drh tags: trunk)
20:28
Extend --out-implib to optionally specify the import lib's name. Add as-yet-unused internals for specifying the DLL's base name (which differs across the Windows-side Unix-esque environments). (check-in: 12a55d34 user: stephan tags: configure-dll-support)
20:22
Makefile-internal var renaming in prep for pending portability-related changes in the handling of DLLs. No functional/build interface changes. (check-in: ebf41fc9 user: stephan tags: trunk)
17:03
Detect when a UNIQUE or PRIMARY KEY on a WITHOUT ROWID table would need to use more than SQLITE_LIMIT_COLUMN columns and raise an error. Also include some unrelated compiler warning fixes. (check-in: d7729dbb user: drh tags: trunk)
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: 47c43fcb user: stephan tags: branch-3.49)
03:19
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: 4e81e2c7 user: stephan tags: trunk)
2025-02-20
17:16
Bump VERSION to 3.49.2. (check-in: eaa2503e 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: b6603986 user: stephan tags: branch-3.49)
17:14
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: a15e0f68 user: stephan tags: trunk)
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: e5ea86dc user: stephan tags: branch-3.49)
16:45
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: 56027220 user: stephan tags: trunk)
12:34
Experimental prototype for "PRAGMA loadall(TABLE_OR_INDEX)". (Leaf check-in: f24e4d7b user: drh tags: pragma-loadall)
05:39
wasm: do not build the (untested/unsupported) node-for-node build by default, to cut build time by about 15%. Adjacent cleanups in mkwasmbuilds.c. (check-in: e4539ebe user: stephan tags: trunk)
04:45
wasm makefile docs: make explicit that the node.js-for-node.js builds (as opposed to the node.js-for-browser builds) are both untested and unsupported. (check-in: e1f18488 user: stephan tags: trunk)
04:14
Add the pause/unpause capability to the opfs-sahpool VFS, as discussed in forum thread fe8cdb8431c. Summary: this gives clients a way to eke some degree of multi-page/tab/Worker concurrency out of this VFS but requires that coordination to be implemented client-side, e.g. via a SharedWorker or WebLocks. (check-in: b5dbd521 user: stephan tags: trunk)
03:27
configure: when running proj-check-function-in-lib, strip -Werror from CFLAGS for the duration of the test. This enables CFLAGS='-Wall -Werror' and the like to be passed to configure without breaking these configure-time checks. (check-in: 4ae9d6c6 user: stephan tags: trunk)
2025-02-19
13:05
Increase default CLI shell .prompt buffer length to 128 bytes, based on discussion in forum post 362f185a6aa. (check-in: 628407f0 user: stephan tags: trunk)
13:02
Slight tweak to the CLI shell help output to help convey that it can accept multiple SQL arguments, as suggested in forum post 20e617feee. (check-in: 82fc6707 user: stephan tags: trunk)
2025-02-18
20:27
Add the SQLITE_MEM5_FAILOVER compile-time option, which if enabled allows MEMSYS5 to go out to the system heap if it is unable to fulfill an allocation request. (Leaf check-in: bdd8617b user: drh tags: mem5-failover)
15:11
Have SQLITE_FTS5_ENABLE_TEST_MI builds avoid reading the database schema from within sqlite3_open(). (check-in: 15dc524f user: dan tags: trunk)
14:56
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: b2bf0630 user: drh tags: reuse-schema)
14:48
Merge the latest trunk enhancements into the bedrock branch. (check-in: c09656c6 user: drh tags: bedrock)
14:38
Merge all the latest trunk enhancements into the wal2 branch. (check-in: bd465165 user: drh tags: wal2)
14:37
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 3c87a6d1 user: drh tags: begin-concurrent)
13:38
Version 3.49.1 (check-in: 873d4e27 user: drh tags: release, branch-3.49, version-3.49.1)
01:16
Update path on the web server for test/snapshot instances of fiddle. (check-in: 57caa313 user: stephan tags: trunk)
2025-02-17
20:13
Add an ORDER BY to a test case for skip-scan to make the output consistent. (check-in: 9c9c1941 user: drh tags: trunk)
19:44
Fix problems in test script fkey6.test. (check-in: 088e4765 user: dan tags: trunk)
19:06
Fix a typo in a comment in wal.c. (check-in: e0f898f3 user: dan tags: bedrock)
18:09
Additional changes making it easier to prove that integer overflow does not occur. No problems found. (check-in: e846743a user: drh tags: trunk)
17:33
Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: 215650a5 user: drh tags: trunk)
16:15
Add two generated files to the distclean rules of the autoconf bundle. (check-in: 57eceb36 user: stephan tags: branch-3.49)
16:14
Add two generated files to the distclean rules of the autoconf bundle. (check-in: b59d0ebb user: stephan tags: trunk)
16:07
Pull build fix [edb8a78c023] and cleanup [0c085a5ab5] into branch-3.49. (check-in: f10e7ac6 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: edb8a78c 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: 78c4994c 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: 1ec4c308 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: ea216856 user: drh tags: trunk)
2025-02-16
19:16
Internal reordering/re-grouping of some configure flags. No functional changes. (check-in: 0c085a5a 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: e9035c6c 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: 47e817f6 user: stephan tags: trunk)
13:49
Update autoconf/Makefile.msc from tool/mkmsvcmin.tcl. (check-in: 9ffe94d2 user: stephan tags: trunk)
13:13
API naming typo reported in forum post 416f2d8dec. No functional changes. (check-in: 0cfb9e23 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: cf6b162d 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: ff879e8e 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: 498e3f1c user: drh tags: trunk)
10:50
Cleanup of the changes for this branch. (Leaf check-in: 9349398e 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: 2b129c37 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: 1902a0c1 user: drh tags: default-in-values-2)
21:53
Fix the error message text for misuse of the DEFAULT keyword. (check-in: fd1b8683 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: a3d83137 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: 1860ea06 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: d5c0be36 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: d94ad545 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: be265559 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: d7434106 user: stephan tags: trunk)
14:13
A cleaner workaround for [6a21d6a2]. (check-in: 46780441 user: stephan tags: branch-3.49)
14:12
A cleaner workaround for [6a21d6a2], provided by autosetup's creator. (check-in: 334ed723 user: stephan tags: trunk)
2025-02-14
18:18
More informative output for the pthread feature test. (check-in: adf042fb user: stephan tags: branch-3.49)
18:17
More informative output for the pthread feature test. (check-in: 01b9ed73 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: f8843b82 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: 806ad1ac user: stephan tags: trunk)
17:53
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: 03d0c192 user: stephan tags: branch-3.49)
17:52
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: b0928f20 user: stephan tags: trunk)
17:25
Work around autosetup --help quirk described in [6a21d6a2ed62]. (check-in: 61726358 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: 6a21d6a2 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: 80311f09 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: ff508926 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: 5964616d 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: d67e28cb user: drh tags: default-in-values)
19:19
Remove an unnecessary branch. Improvements to error messages. (check-in: f49ddd80 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: 8e8037ba 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: 0dadea0e user: stephan tags: trunk)
16:03
Fix various problems. Appears to be working now. (check-in: 7fd94f13 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: c5190b0f user: dan tags: trunk)
14:45
Bring the 3.49 branch's configure-related files up to par with the current trunk. (check-in: 1cc8d16b 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: 2b73eb3f 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: 85c108eb user: drh tags: default-in-values)
20:19
Fix a few 32-bit overflow problems in showdb.c. (check-in: 93777666 user: dan tags: trunk)
18:22
Merge the latest trunk changes into the default-in-values branch. (check-in: 480d7c1a 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: 5127509a 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: 6df859cd user: stephan tags: trunk)
15:31
Remove old function declaration accidentally left in sqlite3session.h. (check-in: 0cfbe349 user: dan tags: trunk)
14:51
Tiny tcl comment tweaks. No functional changes. (check-in: da94e551 user: stephan tags: trunk)
08:07
Fix test script errors in walsetlk3.test. Tests still don't all pass. (check-in: 56eb4114 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: 9709ed1c 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: 958bb5de 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: 303e8009 user: dan tags: win32-enable-setlk)
18:29
Fix "unused variable" warnings in os_unix.c and os_win.c. (check-in: 8e809632 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: 3f539d81 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: 6aa54cc1 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: 5a964bf3 user: stephan tags: branch-3.49)
17:10
Merge latest changes from trunk into this branch. (check-in: e5ec5bb9 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: 9978c871 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: 53478f29 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: 77621fd1 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: 8212f8ee 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: 75535f23 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: 1768de6e user: stephan tags: trunk)
2025-02-10
20:46
Experimental change to allow clients to block when taking a SHARED lock to connect to a wal mode database. (check-in: d2d6a000 user: dan tags: win32-enable-setlk)
19:48
Remove a pointless line of code. (check-in: 57b2b812 user: drh tags: trunk)
19:12
Add the --size option to the test/speedtest.tcl script. (check-in: 6b9007cb user: drh tags: trunk)
18:41
Minor autosetup doc tweaks. (check-in: bb53beb2 user: stephan tags: trunk)
16:34
Make the "mix1" testset the default for speedtest1. (check-in: 7a0c3d0e user: drh tags: trunk)
16:13
Enhance speedtest1 with a new testset that calls sqlite3_open() and uses the connection many times. (check-in: ce307add 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: 44b4e4db 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: 7db7eb22 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: f28e52cb user: stephan tags: trunk)
11:16
Convert some expensive NEVER() and ASSERT() macros into assert()s. (check-in: 4aad8918 user: drh tags: trunk)
00:20
Small performance increase in jsonTranslateBlobToText(). (check-in: 3b1dcac2 user: drh tags: trunk)
2025-02-09
20:23
Performance optimization to the substr() SQL function. (check-in: ce228ce3 user: drh tags: trunk)
19:49
Performance and size optimization for the sqlite3ColumnIndex() routine. (check-in: a93e3fe0 user: drh tags: trunk)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: 23d25ae2 user: stephan tags: branch-3.49)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: f3a35fdc user: stephan tags: trunk)
05:32
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 6c17e4b8 user: stephan tags: branch-3.49)
05:30
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 9ae245cf 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: 705a6d3e 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: 6092b0b8 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: 55e01365 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: 1f554610 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: c22c4836 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: 012b308b 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: dcb44da4 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: 16d307cc user: stephan tags: trunk)
00:54
Add the "star" testset to speedtest1. Include it as part of "mix1". (check-in: f1345b84 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: 11eb8f99 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: 351dbbc2 user: drh tags: trunk)
13:34
Fix GCC-isms and compiler warnings introduced by recent check-ins [c56092507c967230] and [6e57848fe1e0e2b5]. (check-in: 91102c04 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: 6e57848f 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: 0318b68c 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: 8f7b7840 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: 4bc6fe30 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: c5609250 user: drh tags: trunk)
15:49
Further reduction in the amount of memset() needed to initialize the Parse object. (check-in: 45e462c0 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: 4b073687 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: 668bcf32 user: stephan tags: trunk)
13:37
Reduce the amount of memset() needed to initialize the Parse object. (check-in: 284538d8 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: b7c84c04 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: 46f51e2a 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: de3d2e4c 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: 65798c09 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: aa0033d5 user: stephan tags: mac-build-fixes)
11:21
Merge trunk into mac-build-fixes branch and resolve a doc-only merge conflict. (check-in: 5df30deb 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: 37dbacde 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: d47964a6 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: 85302582 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: 940e78dd user: stephan tags: mac-build-fixes)
01:43
Bump TEA configure.ac version number. (check-in: a1a9c780 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: 2ff4129e 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: e93d7aa1 user: drh tags: trunk)
17:10
Fix a harmless typo in a comment. (check-in: ed822729 user: drh tags: trunk)
13:36
Bump version number to 3.50.0 for the next dev cycle. (check-in: 46d08071 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: 44d7ad8f 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: 4bac7613 user: stephan tags: trunk)
12:56
Merge version 3.49.0 into the reuse-schema branch. (check-in: 2699ae6e user: drh tags: reuse-schema)
12:46
Merge version 3.49.0 into the bedrock branch. (check-in: cc3ce784 user: drh tags: bedrock)
12:43
Merge version 3.49.0 into the wal2 branch. (check-in: e194c8e8 user: drh tags: wal2)
12:39
Merge version 3.49.0 into begin-concurrent branch. (check-in: 9d3878e9 user: drh tags: begin-concurrent)
11:55
Version 3.49.0 (check-in: 4a7dd425 user: drh tags: trunk, release, major-release, version-3.49.0)
2025-02-05
17:52
If SQLite is compiled with SQLITE_ENABLE_WAL_BIGHASH defined, use hash tables large enough to fit 128K, instead of 4K, entries in the *-shm file. (check-in: 581efc34 user: dan tags: bedrock)
16:08
Fix a harmless unused-parameter compiler warning introduced by [75f3d8744879]. (check-in: 9f28f669 user: drh tags: trunk)
12:56
Summarize known incompatibilities/gotches between JimTCL and canonical TCL, and their workarounds. Doc changes only. (check-in: 60c932e6 user: stephan tags: trunk)
12:49
Upstream JimTCL patch and minor tcl script tweaks to support (fconfigure -translation binary) for better cross-platform build portability. (check-in: 0974a17c user: stephan tags: trunk)
12: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: fddcfbca user: stephan tags: branch-3.48)
12:02
Attempted improvements to the SQLITE_DBCONFIG_... documentation. (check-in: baac8538 user: drh tags: trunk)
2025-02-04
02:38
Detect and report signed integer overflow in the sumInverse() routine, used by window functions. (check-in: 317e9a47 user: drh tags: trunk)
2025-02-03
23:27
Test case for the FTS3 fix in the previous check-in. This check-in also accidentally includes a change to session that is intended to remove a static analysis warning. (check-in: 459d8f69 user: drh tags: trunk)
23:19
Fix a potential UAF in FTS3. (check-in: 75f3d874 user: drh tags: trunk)
21:24
New dbsqlfuzz case added to fuzzdata8.db. (Closed-Leaf check-in: 7ee20cfc user: drh tags: fuzzer-20250203)
21:04
The Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined. (check-in: 5d81a984 user: drh tags: trunk)
18:53
Enhance fuzzcheck so that the --sqlid and --dbid options can take a range of IDs to run. (check-in: 408fa57f user: drh tags: trunk)
18:49
Fixes and improved documentation to the new --sqlid and --dbid range options in fuzzcheck. (Closed-Leaf check-in: 59e26632 user: drh tags: fuzzcheck-improvements)
18:36
Enhance fuzzcheck so that the --sqlid and --dbid options can specify a range of tests to be run. (check-in: cdd0af6f user: drh tags: fuzzcheck-improvements)
18:05
Fix for a potential UAF in FTS5. (check-in: e33f2fed user: drh tags: trunk)
18:01
Improve the JS-side sqlite3_set_auxdata() test to also trigger the case that the aux data actually gets reused. Test changes only, no library code. (check-in: 9f27379d user: stephan tags: trunk)
17: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)
17:34
Rework [76c8435a] to eliminate automatic JS-to-WASM function conversions of sqlite3_set_auxdata() destructors because it can leads to leaks on every call of a UDF. This feature never worked before [76c8435a] but fixing it was ill-conceived because of the memory leakage it introduces. WASM function pointers can still be used as destructors in this context. (check-in: 3fb993af user: stephan tags: trunk)
17:21
Add a test app to assist in validating the SAHPool digest calculation fix. (check-in: a1e304b8 user: stephan tags: sahpool-digest)
16:26
Initial work on a fix for the SAHPool VFS's effectively-no-op digest calculation, as reported in ticket #97 of the downstream npm subproject. This requires more testing alongside databases created before this version to ensure that it's backwards-compatible. (check-in: 9234c33f user: stephan tags: sahpool-digest)
15:17
Merge the latest trunk changes into the reuse-schema branch. (check-in: 858163f9 user: drh tags: reuse-schema)
15:11
Merge all the latest trunk enhancements into the bedrock branch. (check-in: 1cef92de user: drh tags: bedrock)
15:07
Merge the latest trunk enhancements into the wal2 branch. (check-in: e2d4c189 user: drh tags: wal2)
14:59
Merge all the latest trunk enhancements and fixes into the begin-concurrent branch. (check-in: f456a72e user: drh tags: begin-concurrent)
14:55
Add a more complete test for [76c8435a] and add some commentary about (A) the inability to automatically clean up automatically-generated WASM proxy functions for sqlite3_set_auxdata() destructors and (B) how to deal with (A) to avoid leaking WASM proxy functions. (check-in: d693c2dd user: stephan tags: trunk)
14:44
Fix the build process on Windows so that it generates identical sqlite3.c, sqlite3.h, and shell.c files on Windows and Unix. This patch also includes a change to JS bindings that got caught up in the branch. (check-in: 91ef45fc user: drh tags: trunk)
14:40
Bring the autoconf-tarball Makefile.msc into alignment with the main Makefile.msc. (Closed-Leaf check-in: 52a7a162 user: drh tags: windows-build-issue)
14:04
Correct the FuncPtrAdapter signature for the JS binding of sqlite3_set_auxdata(). Reported in the npm subproject, ticket #92. (check-in: 76c8435a user: stephan tags: windows-build-issue)
13:20
Adjust the build process to avoid extra CR characters inserted by jimsh on Windows. (check-in: 1f548539 user: drh tags: windows-build-issue)
12:42
The "clean" target on Makefile.msc should not delete the auto.def file. Bug: causes "make devtest" to fail. Moved to a branch until repaired. (check-in: 72fbcedf user: drh tags: windows-build-issue)
2025-02-02
18:01
Add a header comment to test/speedtest1.c that outlines how to compile the program using historical amalgamation sources, for comparison testing. (check-in: 602d4dd6 user: drh tags: trunk)
16:52
Update to the "--help" output from speedtest1. (check-in: 52164520 user: drh tags: trunk)
12:15
URL typo fix in code comments. No code changes. (check-in: 002a1230 user: stephan tags: trunk)
2025-02-01
23:49
Add a missing "db2 close" to the ext/session/session_gen.test test module. (check-in: 4068f586 user: drh tags: trunk)
23:34
Fix a comment typo - in a comment used to generate documentation. (check-in: b8de75ee user: drh tags: trunk)
23:28
Remove an ALWAYS() added by [2567298f4b0fdfeb] because dbsqlfuzz found a way to reach it. The test case was added to TH3. (check-in: d08a7aa8 user: drh tags: trunk)
21:06
Enable SQLITE_ENABLE_NORMALIZE for several test configurations. (check-in: b07c6407 user: drh tags: trunk)
20:53
Fix an issue with sqlite3_normalized_sql() caused by changes needed to support SQLITE_DBCONFIG_ENABLE_COMMENT. (check-in: 79d287a3 user: drh tags: trunk)
09:44
JS doc typo fixes. No functional changes. (check-in: e0d9c74c user: stephan tags: trunk)
2025-01-31
20:18
Tweaks to [4b4f33d791fe4318] to make it easier to test. (check-in: 2567298f user: drh tags: trunk)
18:56
Fix test case numbering in tests recently added to like3.test. (check-in: 6df2098c user: drh tags: trunk)
18:45
Expose the new SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE/WRITE and SQLITE_DBCONFIG_ENABLE_COMMENTS (from [325e547a21955]) to JS/WASM. (check-in: 8da1a9af user: stephan tags: trunk)
18:34
Remove an assert() that is not true if a trace-callback is deregistered while there are active statements. (check-in: d53c5824 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: 0ecfc4d0 user: dan tags: trunk)
17:47
Minor cleanups in the opfs-sahpool pause/unpause API demo. (Closed-Leaf check-in: e205cdc4 user: stephan tags: opfs-sahpool-pause)
16:34
Add the conventional license header to sahpool-worker.js and correct the date on the header in sahpool-pausing.js. (check-in: f7c3026b user: stephan tags: opfs-sahpool-pause)
16:25
Add a small test app demonstrating cooperative semi-concurrency of the opfs-sahpool VFS using its un/pauseVfs() APIs. (check-in: 09570c55 user: stephan tags: opfs-sahpool-pause)
14: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: 9d59f8a5 user: drh tags: branch-3.48)
14:54
If any errors occur while processing sqlite_dbpage changes, cancel pending truncate operations. (check-in: 3f8d1902 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: 4b4f33d7 user: dan tags: trunk)
14:52
If any errors occur while processing sqlite_dbpage changes, cancel pending truncate operations. (check-in: 6138e0dc user: drh tags: trunk)
14:25
Cleanups in the opfs-sahpool VFS pause/unpause feature and its tests. (check-in: 184ba377 user: stephan tags: opfs-sahpool-pause)
13:32
Three new options to sqlite3_db_config(): ATTACH_CREATE, ATTACH_WRITE, and COMMENTS. (check-in: 325e547a user: drh tags: trunk)
12:39
Merge trunk into opfs-sahpool-pause branch. (check-in: 775a547e user: stephan tags: opfs-sahpool-pause)
12:30
Minor wasm-specific doc touchups. (check-in: 56b618da user: stephan tags: trunk)
12:09
Improvements to the SQLITE_DBCONFIG option documentation. (Closed-Leaf check-in: 59f0ba10 user: drh tags: extra-security)
11: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: 66bf6784 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: f66efd5b user: stephan tags: trunk)
01:34
Add the SQLITE_DBCONFIG_ENABLE_COMMENTS setting (default on) to enable or disable the ability to include comments in SQL input text. (check-in: 393749a2 user: drh tags: extra-security)
00:54
Merge all the latest trunk changes into the extra-security branch. (check-in: 86ba5756 user: drh tags: extra-security)
2025-01-30
21:16
The reuse-subroutine optimization might have generated byte-code that loops forever. This check-in fixes the problem. (check-in: a8714e8c 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: 0cc4ed8c user: drh tags: trunk)
17:04
Fix a problem causing the write-lock to be held when it should not be in some circumstances following a SEH exception. (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". Edit: this was caused by a build bug, introduced in [0a426a549577b883], which was fixed in [65798c09a00662a3]. (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:43
Version 3.48.0 for the reuse-schema branch. (check-in: 1a031a53 user: drh tags: reuse-schema)
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)
20:12
Merge all the latest trunk changes into the reuse-schema branch. (check-in: 3703a844 user: drh tags: reuse-schema)
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:21
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 3b485202 user: drh tags: reuse-schema)
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)
01:05
Merge the latest trunk changes into the reuse-schema branch. (check-in: 5149d50f user: drh tags: reuse-schema)
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:35
Merge recent trunk changes into the reuse-schema branch. (check-in: ebbc6752 user: drh tags: reuse-schema)
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)
14:06
Merge all the latest trunk changes and enhancements into the reuse-schema branch. (check-in: 58563686 user: drh tags: reuse-schema)
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)
20:36
Enhance the ".import" command of the CLI so that it is able to insert into a view that has an instead-of trigger. (Originally checked into the wrong branch.) (check-in: c71acee1 user: drh tags: commit-and-continue)
17:30
Test the case where a db connection blocks for a while and then successfully obtains the lock. (check-in: 9cbc97ff user: dan tags: win32-enable-setlk)
16:01
Enhance tests to ensure that blocking locks, and not calls to xSleep(), are being used by SQLITE_ENABLE_SETLK_TIMEOUT builds when they should be. (check-in: c892242b user: dan tags: win32-enable-setlk)
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)
00:12
Minor doc update in auto.def. No functional changes. (check-in: d324be29 user: stephan tags: trunk)
00:09
Ensure that the post-config checks for @UNEXPANDED_VARS@ pass even if --disable-tcl is used, as reported in forum post 74ef8059fc. (check-in: a38606bf user: stephan tags: trunk)
2024-12-05
23:53
Fix the build of sqlite3_analyzer.exe on Windows that was broken by check-in [80f3bf8c2ee31ba1]. (check-in: 223f47b2 user: drh tags: trunk)
2024-12-04
19:32
Fix filectrl.test so that it works with winrt builds. (check-in: 70b0cfb0 user: dan tags: win32-enable-setlk)
18:27
Assume an NT-based OS when running tests if sqlite_os_type is not set. (check-in: 22e4aede user: dan tags: win32-enable-setlk)
16:01
Minor doc correction in ext/misc/shathree.c, as reported in the forum. No functional changes. (check-in: 3b82d2c6 user: stephan tags: trunk)
2024-12-03
19:41
Back out minor changes not required by this branch. (check-in: 68c34ffd user: dan tags: win32-enable-setlk)
19:30
Merge latest trunk into this branch. (check-in: eb13b8b3 user: dan tags: win32-enable-setlk)
19:09
Further test file tweaks to run with SQLITE_OS_WINRT builds. (check-in: 54853421 user: dan tags: win32-enable-setlk)
15:19
Fix the lock_win32_file test command so that it works with winrt builds. (check-in: 59946560 user: dan tags: win32-enable-setlk)
2024-12-02
20:48
Fix a problem with SQLITE_OS_WINRT builds. (check-in: baf43e8c user: dan tags: win32-enable-setlk)
19:55
Improve the output from the ".testctrl opt" command in the CLI. (check-in: de7064d1 user: drh tags: trunk)
17:21
Ensure that the query flattener does not change an ON clause term to a WHERE clause term. Forum post 3f676b1196. Follow-up to [f1eae192315335d7]. (check-in: bdd408a2 user: dan tags: trunk)
16:24
Fix a comment typo on the sqlite3ExprIsSingleTableConstraint() routine. (check-in: 346a845b user: drh tags: trunk)
16:07
Fix a harmless typo in debugging output. (check-in: 578f76cf user: drh tags: trunk)
14:14
Reformulate [9e09d5d6] so that memsys5 shows up in the late-config summary as being enabled and does the right thing if both --debug and --memsys3 are used. (check-in: 447db1cd user: stephan tags: trunk)
13:47
Enable MEMSYS5 with the --dev configure option. (check-in: 9e09d5d6 user: drh tags: trunk)
13:29
Slighly less confusing output from treeview during debugging. (check-in: 7aef0b93 user: drh tags: trunk)
2024-12-01
15:23
Trim a bit more from the sqlite370.svg border to get it closer in scaled size to the logo currently on the docsrc site. (check-in: 81c7277f user: stephan tags: trunk)
14:20
Correct the fill color for the background of sqlite370.svg - it was slightly darker than it should have been. (check-in: 73213240 user: stephan tags: trunk)
14:14
Re-export sqlite370.svg to retain the gradient part and clip the size using the cutting guides in sqlite370.eps. (check-in: 12017b01 user: stephan tags: trunk)
14:02
Export a clipped copy of sqlite370.eps as sqlite370.svg, based on discussion in forum post 1bbd6d17ca. (check-in: dd3a13c1 user: stephan tags: trunk)
2024-11-30
20:00
On windows, use a separate handle for each connection for xShmLock() locks. (check-in: 272d552f user: dan tags: win32-enable-setlk)
17:48
At the end of the configure script ensure that none of the files which are filtered for @VARS@ contain any unresolved @VAR@ placeholders, failing fatally if any do. (check-in: 301df5c2 user: stephan tags: trunk)
14:13
In sqlite_dbpage, cancel any pending truncate operation if there an error occurs later in the transaction. (check-in: 1abab10f user: drh tags: trunk)
12:00
A NEVER() that was added by [eb5ac9e5b9a4f9c8] is violated by the ifnull() in-line function. This check-in fixes that problem. (check-in: 2220ccf4 user: drh tags: trunk)
2024-11-29
11:49
Fix a NEVER() in the iif() logic that can be true if compiled with SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS. Problem introduced by [eb5ac9e5b9a4f9c8]. (check-in: 3ec2df5a user: drh tags: trunk)
2024-11-28
23:55
Remove some outdated docs from Makefile.in. (check-in: cc2c5fc9 user: stephan tags: trunk)
20:46
Typo fixes and cleanups in autosetup/README.md. (check-in: 7f366565 user: stephan tags: trunk)
16:14
Configure script doc updates and cleanups. Skip check for EMSDK when doing an out-of-tree build, as ext/wasm does not support that build mode. (check-in: 9d2f4148 user: stephan tags: trunk)
15:52
ext/icu/README.txt: clean up EOL whitespace and add a mention of the --with-icu-... configure flags available as of version 3.48. (check-in: 4976ac71 user: stephan tags: trunk)
11:52
Improvements to sqlite3ExprImpliesExpr() so that it recognizes that expressions like "iif(X,Y)" and "CASE WHEN X THEN Y END" imply X. (check-in: eb5ac9e5 user: drh tags: trunk)
02:09
Simplification to the fix in the prior check-in. (Closed-Leaf check-in: f79cb748 user: drh tags: expr-implies-expr)
01:47
The sqlite3ExprCompare() routine should always compare the same variables as equal to one another, regardless of whether or not QPSG is set. (check-in: df95d520 user: drh tags: expr-implies-expr)
00:58
Add two NEVER() conditions. (check-in: 4f358ad2 user: drh tags: expr-implies-expr)
00:34
Enhancements to sqlite3ExprImpliesExpr() so that it realizes that "iif(A,B)" implies "A". (check-in: d96ecbee user: drh tags: expr-implies-expr)
2024-11-27
18:01
Fix an inaccuracy in the documentation in fts5.h. (check-in: ec3ca6f1 user: dan tags: trunk)
14:41
Use the P5 rather than the P3 parameter of OP_AutoCommit to avoid an unnecessary conflict in the begin-concurrent branch. Fix some comments. (check-in: e6f63526 user: drh tags: commit-and-continue)
14:16
Merge the latest trunk enhancements into the commit-and-continue branch. (check-in: adaddf49 user: drh tags: commit-and-continue)
2024-11-26
23:40
Allow the iif() function to work with two arguments. The third argument is then assumed to be NULL. Also allow if() as an alternative spelling for iif(). (check-in: 1e405c39 user: drh tags: trunk)
23:30
New test cases. (Closed-Leaf check-in: f1cb1a81 user: drh tags: two-argument-iif)
20:56
Provide a two-argument version of the iif() function, plus an alternative spelling that only requires a single "i". (check-in: a251ee64 user: drh tags: two-argument-iif)
20:46
Update fts5 so that the xInstToken() extension API works with prefix queries. (check-in: 41b79bde user: dan tags: trunk)
20:16
Update documentation in fts5.h. (Closed-Leaf check-in: f1e44f70 user: dan tags: fts5-tokendata-prefix)
19:19
Patch autosetup to rename --debug to --autosetup-debug so we can use --debug/--enable-debug for its historical purpose. Update autosetup/README.md with details of the patch. (check-in: 00dffd10 user: stephan tags: trunk)
19:02
Patch autosetup to rename --debug to --autosetup-debug so we can use --debug/--enable-debug for its historical purpose. --with-debug is now an alias for --enable-debug but can be removed entirely if all scripts which have been adjusted for the autosetup build are edited to (re)use the older flag name. (Closed-Leaf check-in: 3296c8d3 user: stephan tags: autosetup-debug-flag)
16:12
Move some of the in-comment configure script help text into the --help text. No functional changes. (check-in: ee8449c4 user: stephan tags: trunk)
16:04
Minor tweak to ./configure --help output. (check-in: 7e634d05 user: drh tags: trunk)
03:15
Replace some outdated docs re. soname with a link to the soname forum post. (check-in: 9225701c user: stephan tags: trunk)
2024-11-25
18:47
Ensure that file-handle winShmNode.hFile.h is used in a thread-safe manner. (check-in: 7a32b497 user: dan tags: win32-enable-setlk)
17:07
Correct duplicated soname linker flags, one of them mis-named. (check-in: 87dfd92d user: stephan tags: trunk)
16:54
Fixes for code on this branch. Now appears to work, but is not tested well. (check-in: 0568fc6d user: dan tags: win32-enable-setlk)
2024-11-22
21:24
Supports SQLITE_ENABLE_SETLK_TIMEOUT on windows. Does not work properly yet. (check-in: 737ca8a9 user: dan tags: win32-enable-setlk)
17:41
Fix another issue in argument expansion on Windows for tclsqlite3.c in interpreter mode. Problem introduced by check-in [9b87ea219bce5689] and unfixed by [cd942dce148c9d8f]. (check-in: 0fe1622c user: drh tags: trunk)
16:45
Remove a flaky JS test which has a result depending on unrepredictable context. That same feature is more reliably tested at a later point in the same script. (check-in: 3d6ae138 user: stephan tags: trunk)
16:24
In order to support package builds, like OpenBSD's, which set a custom soname on libsqlite3.so, extend the --soname configure flag to allow arbitrary soname values. (check-in: 9c1c1b99 user: stephan tags: trunk)
14:18
Move handling of the tempstore feature flag into the OPT_FEATURE_FLAGS list and remove the CFLAGS.libsqlite3 makefile var which exists solely to account for the tempstore being tracked separately from the other feature flags. (check-in: 2df5065d user: stephan tags: trunk)
14:12
Makefile doc cleanups. No functional changes. (check-in: 64add0ac user: stephan tags: trunk)
13:47
Remove the libsqlite3.so.3 link from the installation process, as it now serves no functional purpose. We retain libsqlite3.so.0 (A) for compatibility with clients linked against legacy builds and (B) 0 is still valid as the library's ABI version. (check-in: 91bd9813 user: stephan tags: trunk)
13:22
Add links to the SONAME discussion at relevant places in auto.def and the makefiles. No functional changes. (check-in: c78dcc31 user: stephan tags: trunk)
12:29
Fix harmless scanbuild warnings caused by the introduction of the ".dbtotxt" command into the CLI by check-in [b43acf5a8cd4a5ef]. (check-in: 554d8fbd user: drh tags: trunk)
12:07
Fix some harmless scanbuild warnings in the shell. (check-in: 9ba1c9b5 user: drh tags: trunk)
12:00
Fix harmless compiler warning caused by [c77a4a42f2e3d164]. (check-in: 063690d2 user: drh tags: trunk)
2024-11-21
20:57
Make ".scanstatus" an undocumented alternative name for ".scanstats" in the CLI. (check-in: f20688ef user: drh tags: trunk)
20:10
Fix a bug-in-waiting (one too few list elements) in [b6bd25bd769e]. (check-in: e527dcd0 user: stephan tags: trunk)
20:07
Add the --scanstatus configure flag to set -DSQLITE_ENABLE_STMT_SCANSTATUS. (check-in: b6bd25bd user: stephan tags: trunk)
15:53
Fix a JS test which was broken when OMIT_PROGRESS_CALLBACK was _not_ used. (check-in: fba23150 user: stephan tags: trunk)
01:50
Document that -nofollow does not work on Windows. Fix Windows symlink test cases for when the test suite is run as administrator. (check-in: 4de8a75e user: drh tags: trunk)
2024-11-20
20:39
Fix compiler warnings caused by variable shadowing. (check-in: 211b3057 user: dan tags: fts5-tokendata-prefix)
20:24
Merge the latest trunk fixes and makefile enhancements into the commit-and-continue branch. (check-in: 34cb6029 user: drh tags: commit-and-continue)
16:21
New configuration option --dynlink-tools causes some command-line tools like sqldiff and sqlite3_analyzer to link against the libsqlite3.so system library rather than being built-in. Caution: sqlite3_analyzer requires the SQLITE_ENABLE_DBSTAT_VTAB compile-time option on its SQLite library in order to work, so do not use --dynlink-tools to build sqlite3_analyzer without it. (check-in: 314c606d user: drh tags: trunk)
16:17
Use shared-library flags, not shared-object flags, to create shared libraries. This makes no difference on Linux, but is required for Mac. (Closed-Leaf check-in: bfaa3ee7 user: drh tags: link-tools-dynamically)
14:59
Bug fix in the SubrtnSig logic from [c9a3498113074bbc], if a subquery is copied and then changes are made to the copy, be sure to give the copy a unique Select.selId value so that the original will not be substituted in place of the modified copy. Forum post 0b9ded2f8428ac00. (check-in: 19d1bede user: drh tags: trunk)
14:19
Provide the sqlite3ShowWhereTerm() interface callable interactively from a debugger, when compiling with SQLITE_DEBUG. (check-in: c77a4a42 user: drh tags: trunk)
11:34
Do not report an sqlite3_error_offset() for errors that occur inside of views or triggers, since the text of those elements is not part of the original query. (check-in: bf66c6df user: drh tags: trunk)
2024-11-19
21:19
Add fix from [bfab759611b0] to sqltclsh. Remove some now-unneeded has_tclsh84/5 checks in cases where jimsh can be used. (check-in: 9d389b99 user: stephan tags: link-tools-dynamically)
21:14
Add missing $TCL_LIBS to the link for sqlite3_analyzer. (check-in: bfab7596 user: drh tags: link-tools-dynamically)
20:23
Didn't work out; broke the build. Was: Add the ability to build certain tools dynamically linked to libsqlite3 instead of embedding their own copy of sqlite3.c. (Closed-Leaf check-in: 84bd96a6 user: stephan tags: mistake)
20:21
Rename --link-tools-dynamically to --dynlink-tools, per discussion. (check-in: 50b9f6fd user: stephan tags: link-tools-dynamically)
20:14
Move the in-comment-code commentary about --with-debug, from [7b14309be4], into the --help text for that flag, where it's readily visible. (check-in: c938e5d7 user: stephan tags: link-tools-dynamically)
19:47
Get sqlite3_analyzer optionally linking against libsqlite3.so instead of embedding sqlite3.c. Patch mkccode.tcl to accept digits in its IFDEF/IFNDEF checks and sqlite3_analyzer.c.in to only include sqlite3.c if -DINCLUDE_SQLITE3_C is passed to mkccode.tcl. (check-in: 80f3bf8c user: stephan tags: link-tools-dynamically)
19:16
Merge trunk into this branch. Fix a small jimtcl/tclsh regex incompatibility in mkccode.tcl. (check-in: 7fb3ebfe user: stephan tags: link-tools-dynamically)
18:26
Enhancements to tool/mkccode.tcl such that it recognizes -D command line arguments and can use them in internal IFDEF and IFNDEF macros. Update the tool/sqlite3_analyzer.c.in script such that it omits the SQLite amalgamation if -DSQLITE_ENABLE_DBSTAT_VTAB is defined. (check-in: 7fec2092 user: drh tags: trunk)
17:41
Revert linking the shell to the dll for reasons explained in new makefile comments. Move the --with-debug configure flag into the developer options set and add commentary about why it should never be used for production builds. (check-in: 7b14309b user: stephan tags: link-tools-dynamically)
16:40
Reformulate sqldiff deps and rules so that the target matches the resulting file name, to avoid rebuilding it on every make invocation. Apply the same treatment to the sqlite3 CLI shell. (check-in: 9a17b83f user: stephan tags: link-tools-dynamically)
15:20
Initial configure support for linking certain binaries to libsqlite3.so instead of embedding it dynamically (which they typically do). This currently applies only to sqldiff, but support for adding the same for other tools is planned. This requires disabling the soname because setting it causes the build to link to whatever libsqlite3.so.0 is installed system-wide, so the soname now defaults to off. (check-in: 9192c146 user: stephan tags: link-tools-dynamically)
11:58
Fix a problem handling OOM errors in fts3 that could occur when parsing multi-token strings. (check-in: 4c4d1db0 user: dan tags: trunk)
2024-11-18
21:15
Merge recent trunk changes into the reuse-schema branch. (check-in: 63bac8dd user: drh tags: reuse-schema)
20:44
Merge the divergence reduction into the bedrock branch. (check-in: e03dd0bd user: drh tags: bedrock)
20:30
Continue to reduce divergence between wal2 and trunk. (check-in: 9591ab7c user: drh tags: wal2)
18:49
Realignment of begin-concurrent with trunk. (check-in: 38232952 user: drh tags: begin-concurrent)
18:45
Reduce divergence from trunk. (check-in: c5d77671 user: drh tags: begin-concurrent)
18:45
Reduce divergence from begin-concurrent. (check-in: 84d41e9d user: drh tags: trunk)
18:27
Realign trunk and wal2. (check-in: dcf27687 user: drh tags: wal2)
18:03
Attempt to reduce divergence from trunk. (check-in: ffe9f9cc user: drh tags: wal2)
17:05
Attempt to reduce divergence with the wal2 branch. (check-in: e0d8f991 user: drh tags: trunk)
16:52
Realign the begin-concurrent branch with trunk. (check-in: b92c9a66 user: drh tags: begin-concurrent)
16:44
Attempt to reduce divergence from trunk. (check-in: ae863439 user: drh tags: begin-concurrent)
16:44
Attempt to reduce divergence with begin-concurrent. (check-in: f783d901 user: drh tags: trunk)
15:51
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 00d021ed user: drh tags: reuse-schema)
15:34
Merge the latest trunk changes into the bedrock branch. (check-in: 59a7eb29 user: drh tags: bedrock)
15:30
Merge the latest trunk changes into the wal2 branch. (check-in: d19aeff6 user: drh tags: wal2)
15:18
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 680a2eaa user: drh tags: begin-concurrent)
14:54
Disable commit-and-continue tests under the inmemory-journal and journaltest permutations. (check-in: 2f31c2b0 user: drh tags: commit-and-continue)
14:15
Remove the .POSIX entries from the makefiles because they cause portability problems rather than solve them. (check-in: e1330ecf user: stephan tags: trunk)
14:08
Fix a "applying zero offset to null pointer" usan error in the fts5 trigram tokenizer. (check-in: 9b79b999 user: dan tags: trunk)
13:29
Fix minor problems in testrunner.tcl that pop up when the command-line arguments are such that no tests are run. (check-in: 321ded32 user: drh tags: trunk)
11:49
The COMMIT AND CONTINUE TRANSACTION syntax is disabled by default. Enable it using the SQLITE_DBCONFIG_CONTINUE_TRANSACTION configuration option. (check-in: a2b784cb user: drh tags: commit-and-continue)
11:14
Fix a typo in a variable name. (check-in: 9c7f569a user: drh tags: commit-and-continue)
2024-11-17
23:53
Fix an uninitialized variable that appears to be the cause of the problems with check-in [80b98446fc070d9a]. (check-in: 22393c3a user: drh tags: commit-and-continue)
11:46
Merge the latest trunk enhancements into the commit-and-continue branch. (check-in: 1742af12 user: drh tags: commit-and-continue)
11:42
Make the --vfstrace output from the CLI go to the same output channel as everything else. (check-in: f71d4900 user: drh tags: trunk)
09:49
buildtclext.tcl: add docs explaining the DESTDIR check and break out of the auto_path search loop early if the DESTDIR is not writable, rather than re-checking that repeatedly. (check-in: d07be336 user: stephan tags: trunk)
2024-11-16
23:32
Add simple test cases. In doing so I found that the feature does not work on a Linux ramdisk, nor on Win11. Gotta fix that. (check-in: 80b98446 user: drh tags: commit-and-continue)
18:59
Merge all the latest trunk enhancements into the commit-and-continue branch. (check-in: d217b484 user: drh tags: commit-and-continue)
18:54
Call fflush() on ".echo" output from the shell, so that the output to stdout is aligned with output to stderr. (check-in: c38b9db3 user: drh tags: trunk)
18:37
Clean up the implementation now that it only has to deal with the much simplier concept of COMMIT AND CONTINUE TRANSACTION. (check-in: 17360660 user: drh tags: commit-and-continue)
17:39
Fix argument expansion in sqlite-tclsh on Windows such that if an argument does not match a filename even after glob expansion, it is appended to the argument list verbatim. (check-in: cd942dce user: drh tags: trunk)
17:09
Handle DESTDIR at an earlier phase in buildtclext.tcl to account for the is-writable-dir check and to filter out //zipfs: dirs as (im)possible installation targets. (check-in: d2e8c161 user: stephan tags: trunk)
14:40
Simplify the new syntax to be just "COMMIT AND CONTINUE TRANSACTION". (check-in: 61797109 user: drh tags: commit-and-continue)
14:30
Add the --destdir flag to the tclextension-install makefile target. (check-in: d1663cf0 user: stephan tags: trunk)
14:29
Add --destdir flag support to buildtclext.tcl, but do not yet add that to the makefile (so that this change can be cherrypicked to the 3.47 build). (check-in: 67a3ca0c user: stephan tags: trunk)
10:42
Rename tool/tclConfigShToTcl.sh to tool/tclConfigShToAutoDef.sh in the name of pedantic correctness. (check-in: a7dd196d user: stephan tags: trunk)
09:00
configure: tiny simplification of proj-assert. (check-in: bfdc416b user: stephan tags: trunk)
2024-11-15
20:42
Load all the latest trunk enhancements, and especially the enhancements to vfstrace, into the commit-and-begin branch. (check-in: 605889b0 user: drh tags: commit-and-continue)
20:39
Enhance the vfstrace extension such that the output can be controlled using the "PRAGMA vfstrace('...');" statement. See header comment on the source code for details. (check-in: 96105d33 user: drh tags: trunk)
19:42
In the interest of minimizing downstream disruption, set the soname of libsqlite3.so to (by default) its legacy value of libsqlite3.so.0 and unconditionally create (or replace) a symlink with that name at install-time, in addition to the newer-named symlinks. (check-in: 0773677b user: stephan tags: trunk)
17:28
Another approach at implementing COMMIT AND BEGIN. (check-in: a905bd5d user: drh tags: commit-and-continue)
16:35
Generic auto.def cleanups. No functional differences. (check-in: 02aceb8c user: stephan tags: trunk)
15:31
buildtclext.tcl: work around a case, reported in forum post 0683a49cb0, in which package maintainers edit their copy of tclConfig.sh to change the TCL_SHLIB_LD command. (check-in: e24a3efe user: stephan tags: trunk)
10:53
configure: add optional pkg-config support for detecting ICU. (check-in: 3e5b8077 user: stephan tags: trunk)
10:47
When checking pkg-config for ICU support use icu-io instead of icu-uc, as that contains all requires libs on Linux and BSD. (Closed-Leaf check-in: 6ca45754 user: stephan tags: autosetup-icu-pkg-config)
10:12
configure script doc additions for the ICU feature check. (check-in: 1925a68f user: stephan tags: trunk)
10:07
An experiment in optionally using pkg-config to determine the libs to link in for ICU support, but its ldflags is missing one required lib on both Linux and OpenBSD. Keeping this for later reference, as it demonstrates how to use pkg-config from autosetup. (check-in: 09caa94c user: stephan tags: autosetup-icu-pkg-config)
2024-11-14
22:59
Attempt to hold a lock across the COMMIT AND BEGIN boundary so that no other process can start a new transaction in between the COMMIT and the BEGIN. (check-in: bc8bcc53 user: drh tags: commit-and-continue)
19:59
Fix assertion faults in the COMMIT AND BEGIN path. (check-in: a9a4ac17 user: drh tags: commit-and-continue)
19:36
Merge more makefile enhancements from trunk into the commit-and-begin branch. (check-in: 098400d3 user: drh tags: commit-and-continue)
19:34
Fix typo in the handling of the new --dev flag which caused it to set the --debug flag instead of the --with-debug flag (the former is for autosetup's internal use). (check-in: 81202d2a user: stephan tags: trunk)
19:25
Remove $prefix/include from the default -I path because it can cause the build to pick up an unintended copy of sqlite3.h. Extend the ICU configure support (the origin of -I$prefix/include) to enable fetching the -I path from icu-config and apply it only to those objects which need it. (check-in: f778dfdd user: stephan tags: trunk)
19:08
Merge makefile enhancements from trunk into the commit-and-begin branch. (check-in: b5dd11e0 user: drh tags: commit-and-continue)
19:06
Add new makefile target "sqlite3d" (where the "d" means either "development" or "debug") that always uses separate source files, regardless of the --disable-amalgmation setting. (check-in: 91da205b user: drh tags: trunk)
17:52
Add --enable-dev configure flag which sets various other flags. (check-in: ea79c363 user: stephan tags: trunk)
17:25
Merge the latest trunk enhancements and fixes into the commit-and-begin branch. (check-in: 05fb5d30 user: drh tags: commit-and-continue)
16:06
Remove unused sqlite_cfg.h.in from the build. (check-in: bba54e26 user: stephan tags: trunk)
16:00
Fix a state makefile dependency which refered to the now-removed sqlite_cfg.h.in. (Closed-Leaf check-in: 9a726b4b user: stephan tags: makefile-simplification)
15:55
Remove some obsolete macros from the CLI. (check-in: 5c4eb625 user: drh tags: trunk)
15:25
Remove unused sqlite_cfg.h.in (sqlite_cfg.h gets generated without an input template). (check-in: 6148f2d3 user: stephan tags: makefile-simplification)
14:38
Fix a problem with window functions min() and max() when used with a FILTER clause. Forum post e9126d554a. (check-in: d15fb0f7 user: dan tags: trunk)
12:23
Document the if block at the end of sqlite-check-tcl. (check-in: 6bfd0940 user: stephan tags: trunk)
12:09
configure: avoid performing multiple checks for -lm on behalf of --enable-fts4 and --enable-fts5. (check-in: 6940caa1 user: stephan tags: trunk)
12:03
Early prototype code for COMMIT AND BEGIN. Does not currently work. (check-in: ddac5973 user: drh tags: commit-and-continue)
2024-11-13
18:23
Enhance the vfstrace.c extension to show symbolic names for the various SHM locks. (check-in: c0dd7de8 user: drh tags: trunk)
18:04
Fix a memory leak in the ".dump" command of the CLI that can occur if an error other than database corruption is seen while trying to query the database. (check-in: 2560cc70 user: drh tags: trunk)
16:08
Add the test/fork-test.c test program. (check-in: 0611e2b0 user: drh tags: trunk)
14:58
Add the SQLITE_FCNTL_NULL_IO file-control. (check-in: f0e917fc user: drh tags: trunk)
2024-11-12
13:37
Ensure that the sqlite3_index_info.idxStr string coming back from FTS5 is always zero-terminated, even if the xBestIndex call fails with an SQLITE_CONSTRAINT error. (check-in: a4e976a0 user: drh tags: trunk)
2024-11-11
21:11
Clarify the documentation to make it clear that rows inserted by a CREATE TABLE AS SELECT statement are not counted by sqlite3_count64(). Forum post 1e6cde5648. (check-in: 5c5982e3 user: drh tags: trunk)
21:07
Adjust the behavior of sqlite3_changes64() so that it counts INSERTs into a new table created using "CREATE TABLE name AS SELECT ...". It has never done this before. The documentation is a little ambiguous about whether or not it actually should. This check-in is on a branch because it will probably never make it to trunk for fear of breaking some legacy program. (Closed-Leaf check-in: b741608c user: drh tags: chngcnt-create-as)
19:49
Fix the fts5 trigram tokenizer so that it handles non-nul-terminated strings. (check-in: 84f4e371 user: dan tags: trunk)
19:07
Add the ".dbtotxt" command to the CLI. (check-in: b43acf5a user: drh tags: trunk)
18:15
Wrap some exceptionally long lines in main.mk. Add option to override LDFLAGS on the sqlite3.dll target. Audit: all targets for which it is hypothetically relevant can now inherit user-supplied LDFLAGS, but only those provided to the configure script, not at make-time, in order to mimic the historical build's restriction in that regard. (check-in: 073080ca user: stephan tags: trunk)
18:11
Optimize deferred allocation of pages on this branch by avoiding BTALLOC_LE. (check-in: 08121610 user: dan tags: begin-concurrent)
17:03
Update this branch with latest changes and build system updates from trunk. (check-in: 52bd7953 user: dan tags: begin-concurrent)
17:02
Use Win32 APIs to read/write the console in Windows unless the SQLITE_USE_STDIO_FOR_CONSOLE option is defined. This is an attempt to get the build working on MinGW. (check-in: abfe488e user: drh tags: trunk)
13:17
Add an -fsanitize=fuzzer compatibility mode to the CLI. (Leaf check-in: d85f14c7 user: drh tags: cli-fuzz)
09:53
Doc update to account for [05073350087b]. (check-in: b81976c5 user: stephan tags: trunk)
09:37
Rename proj-define-if-opt-truthy to the more accurate, and less verbose, proj-define-for-opt. (check-in: 05073350 user: stephan tags: trunk)
2024-11-09
17:54
Fix a case in fts3 where a corrupt database record was not being handled correctly. (check-in: cbcb5375 user: dan tags: trunk)
14:34
Fix a deps problem, introduced in [1bd9de719], which breaks the build on systems where HAVE_TCL=0. (check-in: 7953a8bd user: stephan tags: trunk)
10:23
Simplify usage of proj-assert by making the expr prefix implicit. Add an optional description arg to proj-assert, defaulting to the body of the assertion script. (check-in: ada7b36c user: stephan tags: trunk)
09:19
Remove three unused files from autosetup/. (check-in: 906563a7 user: stephan tags: trunk)
06:35
Remove an unused lib import from auto.def. (check-in: 53a71981 user: stephan tags: trunk)
2024-11-08
20:57
Increase the minimum SQLITE_LENGTH_LIMIT from 1 to 30 to avoid problems doing simple things like converting strings into integers. See also [8fd5b8ec4ab9b555]. (check-in: 6aa01707 user: drh tags: trunk)
20:44
Fix an assert() failure in sqlite3recover.c. (check-in: f52bb192 user: dan tags: trunk)
14:34
Remove one dep from .tclenv.sh which is only valid for configure-driven builds, not static makefiles. (check-in: 22986767 user: stephan tags: trunk)
13:37
Add 'tcl' makefile target which builds all but tclextension (which does not have a well-defined name and dependencies). Improve the deps for .tclenv.sh to avoid getting a stale tclsh when re-configuring with a different --with-tcl(sh). (check-in: 1bd9de71 user: stephan tags: trunk)
08:01
Add missing CFLAGS.intree_includes to T.compile.tcl to fix build of tclsqlite3. (check-in: bb3c6dc1 user: stephan tags: trunk)
07:37
More closely emulate the legacy build's handling of LDFLAGS, permitting them to be passed to configure but not to make. We cannot 100% enforce that because main.mk is not filtered by the configure script, so we instead add a level of indirection to make passing of LDFLAGS=... to make a no-op. (check-in: d1af9f31 user: stephan tags: trunk)
06:22
Support clients passing in LDFLAGS to configure/make, but in a more limited form than the legacy build it (i.e. only to select targets rather than all targets). Rename make-side internal uses of CFLAGS to CFLAGS.env for consistency with the new LDFLAGS.env. See discussion in forum thread 5fcbea40f3. (check-in: a5e07e80 user: stephan tags: trunk)
05:26
Disable setting of the SONAME (enabled by [2a2419ef742]), as it's not clear whether blindly setting the SONAME, which now differs from its historical value, will cause more grief than it solves. Add a (disabled) experiment which permits setting (or not) the SONAME to the legacy or current values. This change is up for further change as experimentation proves whether we truly need/want the SONAME. See discussion in/around forum post 0c6fc6f46b2cb3. (check-in: d9314568 user: stephan tags: trunk)
2024-11-07
17:34
Fix an OOB write that could occur in fts3 when dealing with corrupt database records. (check-in: 108863ec user: dan tags: trunk)
16:59
Extend the set of --flags which get cleared/unset when using --with-wasi-sdk. Enable the soname linker option for libsqlite3.so. (check-in: 2a2419ef user: stephan tags: trunk)
15:23
Doc touchups in the line-editing feature check code. (check-in: bb5656bd user: stephan tags: trunk)
15:04
tcl configuration: --with-tcl=prefix is equivalent to passing the --prefix dir to it. If --with-tcl or --enable-tcl are explicitly passed in and tclConfig.sh is not found, fail fatally. When TCL is either explicitly disabled or default search for it fails non-fatally, be more explicit about which components are not available. (check-in: c5389d39 user: stephan tags: trunk)
12:03
Further improvements to the ".mode json" output in the CLI. (check-in: 6201b570 user: drh tags: trunk)
10:07
Autosetup doc touchups. (check-in: 57451529 user: stephan tags: trunk)
09:36
Extend the list of "truthy" config values to include "true". Related doc updates. (check-in: 4455718e user: stephan tags: trunk)
08:57
Add some internal docs to auto.def explaining certain passages. (check-in: 4749967e user: stephan tags: trunk)
08:29
Document the purpose of a global auto.def var added in [0d558318172d]. (check-in: f5b66047 user: stephan tags: trunk)
07:31
When --with-linenoise refers to the msteveb flavor and jimsh is the TCL used for code generation, enable linenoise in jimsh. Remove some dead auto.def code. (check-in: 0d558318 user: stephan tags: trunk)
06:02
Add mention of file-isexec in autosetup/README.md. (check-in: f4693567 user: stephan tags: trunk)
06:00
Change several 'file exists' checks for tclsh to file-isexec because that checks for .exe extensions on Windows. (check-in: 052a1b4d user: stephan tags: trunk)
05:26
For platforms where tclsh is found but tclConfig.sh is not, set HAVE_TCL to 0. We can't build the TCL components on those. Problem reported in forum post 5106aee3a8. (check-in: 04d2576b user: stephan tags: trunk)
2024-11-06
19:19
Fix an FTS3 corruption test case that depends on the specific pseudo-random byte sequence generated by sqlite3_randomness(), which is different on big-endian platforms than it is on little-endian platforms. (check-in: 6216bfcb user: drh tags: trunk)
17:31
Merge latest trunk changes into this branch. (check-in: edb84234 user: dan tags: fts5-tokendata-prefix)
12:58
Re-phrase some (#if !SQLITE_CORE) to (#ifndef SQLITE_CORE), as discussed in forum post cea40371c5e34b09. (check-in: 5495b125 user: stephan tags: trunk)
2024-10-24
15:57
Add missing ZERO_ARGUMENT_GENERATE_SERIES checks to ext/misc/series.c, as reported via support mail. (Closed-Leaf check-in: cd82e4c0 user: stephan tags: ifdef-SQLITE_CORE)
07:44
Beginnings of rephrasing #if SQLITE_CORE to #ifdef/ifndef for consistency, as discussed in forum post cea40371c5e34b09. (check-in: 58d91abf user: stephan tags: ifdef-SQLITE_CORE)