drh [Tue, 11 Mar 2025 12:19:27 +0000 (12:19 +0000)]
The substitute "puts" command used by the Windows implementation of
sqlite3_analyzer must invoke fflush() after each line of output. Otherwise
the output can be truncated when redirected into a file.
drh [Mon, 10 Mar 2025 22:31:55 +0000 (22:31 +0000)]
Ensure that the TEMP database has been initialized at the beginning of
a call to sqlite3_open_blob() for the TEMP database. Fix for the issue
reported by [forum:/forumpost/0a556d619b|forum post 0a556d619b].
stephan [Mon, 10 Mar 2025 17:28:43 +0000 (17:28 +0000)]
Add an explicit db close to test/walsetlk.test to work around an unjustified test failure on Windows when the walsetlk tests are run in the same invocation of testfixture.exe in Windows.
drh [Mon, 10 Mar 2025 10:32:31 +0000 (10:32 +0000)]
Disable the [d1ba200234f40b84|count-of-view optimization] if any subquery
is DISTINCT, as the optimization does not work in that case.
Bug reported by [forum/forumpost/a860f5fb2e|forum post a860f5fb2e].
stephan [Thu, 6 Mar 2025 09:29:15 +0000 (09:29 +0000)]
Back out the most significant part of [5c28a17253e2f], as Cygwin is a hybrid. With SQLITE_OS_UNIX it will use POSIX locking, which will misinteract with apps using Windows-style locking.
stephan [Tue, 4 Mar 2025 21:31:18 +0000 (21:31 +0000)]
Roll back part of [6d87a8efe]: the check for tclsh90.exe (as opposed to tclsh9.0.exe) is incorrect on these platforms (it's an msvc build). Also remove an unused function added in that checkin.
stephan [Tue, 4 Mar 2025 05:16:10 +0000 (05:16 +0000)]
Document the EXTRA_SRC makefile var and add --amalgamation-extra-src=list to the canonical-build configure script as the formal way to pass that at configure-time.
stephan [Mon, 3 Mar 2025 14:15:13 +0000 (14:15 +0000)]
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:606ea661df|forum post 606ea661df].
stephan [Mon, 3 Mar 2025 11:48:09 +0000 (11:48 +0000)]
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).
stephan [Sat, 1 Mar 2025 23:44:11 +0000 (23:44 +0000)]
Use SQLITE_EXTRA_INIT_MUTEXED instead of SQLITE_EXTRA_INIT for the SQLITE_WASM_EXTRA_INIT feature, as suggested in [forum:14183b98fc0b1dea|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.
stephan [Thu, 27 Feb 2025 21:17:55 +0000 (21:17 +0000)]
Approximately 100 typo corrections spanning the whole tree, submitted via [forum:0db9827f0464bc33|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.
stephan [Thu, 27 Feb 2025 19:40:02 +0000 (19:40 +0000)]
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.
drh [Thu, 27 Feb 2025 16:07:49 +0000 (16:07 +0000)]
Strive to make sorts stable in the mkpragmatab.tcl build script, so that
we get consistent amalgamations regardless of platform.
[forum:/forumpost/c9914addebf3da51|Forum thread c9914addebf3da51].
dan [Thu, 27 Feb 2025 11:03:54 +0000 (11:03 +0000)]
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.
stephan [Wed, 26 Feb 2025 19:22:52 +0000 (19:22 +0000)]
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).
stephan [Wed, 26 Feb 2025 17:11:25 +0000 (17:11 +0000)]
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.
stephan [Wed, 26 Feb 2025 16:15:34 +0000 (16:15 +0000)]
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.
stephan [Tue, 25 Feb 2025 20:55:14 +0000 (20:55 +0000)]
Approximately 50 typo fixes, spanning the whole tree, contributed via [forum:006c8fa165083ac3|forum post 006c8fa165083ac3] and individually checked for correctness. Affects only code comments, docs, and a single line of debug output in a test app.
drh [Tue, 25 Feb 2025 20:10:46 +0000 (20:10 +0000)]
Change the default control-character escape algorithm from "symbol" to
"ascii", since the "ascii" algorithm works even on terminals that do
not support unicode.
drh [Tue, 25 Feb 2025 15:57:49 +0000 (15:57 +0000)]
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.
stephan [Tue, 25 Feb 2025 15:54:07 +0000 (15:54 +0000)]
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 [forum:e6cf2bbb70da2922|e6cf2bbb70da2922] and [forum:828fdfe9041fd725|828fdfe9041fd725].
dan [Tue, 25 Feb 2025 15:27:55 +0000 (15:27 +0000)]
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.
stephan [Mon, 24 Feb 2025 18:45:30 +0000 (18:45 +0000)]
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.
stephan [Mon, 24 Feb 2025 18:14:27 +0000 (18:14 +0000)]
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.
stephan [Mon, 24 Feb 2025 12:19:06 +0000 (12:19 +0000)]
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.
stephan [Mon, 24 Feb 2025 11:21:32 +0000 (11:21 +0000)]
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.
stephan [Mon, 24 Feb 2025 07:06:36 +0000 (07:06 +0000)]
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.
stephan [Mon, 24 Feb 2025 04:47:34 +0000 (04:47 +0000)]
Update jimsh0.c from upstream autosetup to address [https://github.com/msteveb/autosetup/issues/75|autosetup ticket #75], triggered by this build in the Gentoo project.
stephan [Sun, 23 Feb 2025 17:55:41 +0000 (17:55 +0000)]
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.
drh [Sun, 23 Feb 2025 11:48:07 +0000 (11:48 +0000)]
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.
drh [Sun, 23 Feb 2025 00:09:24 +0000 (00:09 +0000)]
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.
drh [Sat, 22 Feb 2025 16:44:14 +0000 (16:44 +0000)]
Tamp down various harmless compiler warnings. Use "int" in places instead
of "u16" or "i16" since the compiler complains less and generates faster
code.
stephan [Sat, 22 Feb 2025 16:31:16 +0000 (16:31 +0000)]
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.
stephan [Fri, 21 Feb 2025 23:43:10 +0000 (23:43 +0000)]
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).