]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
3 months agoAdd --asan-fsanitize=... configure flag to the canonical build to optionally set...
stephan [Sun, 16 Mar 2025 13:09:21 +0000 (13:09 +0000)] 
Add --asan-fsanitize=... configure flag to the canonical build to optionally set -fsantize flags for the fuzzcheck-asan tool. Teach proj-check-fsanitiz to fail for flags which the compiler emits any warning for, for reasons described in its comments.

FossilOrigin-Name: 013730e9b92af39cb7fd2871df9b4bc81b8990f918892bd79370704421672da0

3 months agoConfigure-internal doc cleanups. No functional changes.
stephan [Sun, 16 Mar 2025 12:27:21 +0000 (12:27 +0000)] 
Configure-internal doc cleanups. No functional changes.

FossilOrigin-Name: be3a2e631100b711996b9524a54fc604966513a62d83fc916270a6226da7adab

3 months agoConsolidate some much-duplicated run-fuzzcheck recipe code in main.mk.
stephan [Sun, 16 Mar 2025 11:24:32 +0000 (11:24 +0000)] 
Consolidate some much-duplicated run-fuzzcheck recipe code in main.mk.

FossilOrigin-Name: c0d9b9fad3a2f23941927f1be2abded3bde2f2b04f7a5f3cc0a54a978020ebaa

3 months agoRework the run-fuzzcheck makefile target so that it better exploit parallelism.
drh [Sun, 16 Mar 2025 00:13:29 +0000 (00:13 +0000)] 
Rework the run-fuzzcheck makefile target so that it better exploit parallelism.
Test case "<tt>make -j16 run-fuzzcheck FUZZDB=20250222.db</tt>"
went from 596 seconds down to 107 seconds.

FossilOrigin-Name: 18bda13e197e4b4ec7464b3e70012f71edc05f73d8b14bb48bad452f81c7e185

3 months agoEnhance the fuzzcheck testing tool with new command-line options:
drh [Sat, 15 Mar 2025 23:42:32 +0000 (23:42 +0000)] 
Enhance the fuzzcheck testing tool with new command-line options:
--brief, and --slice M N.

FossilOrigin-Name: e64132723db0c4f2b9a58932a93beb1671e42006eebc1aeaa8f320e717043051

3 months agoMake use of the C99 flexible array feature, when available, so that
drh [Sat, 15 Mar 2025 19:55:19 +0000 (19:55 +0000)] 
Make use of the C99 flexible array feature, when available, so that
the -fsanitize=bounds-strict option can be used, when available.
[forum:/forumpost/311dbf9a1cadfae6|Forum thread 311dbf9a1c].

FossilOrigin-Name: d4307a0d43f42e96ec06ad2c1d8d0f5c8ecae759bae8231b1998633089809f49

3 months agoWork around compilers that do not understand flexible arrays, in the flex-array
drh [Sat, 15 Mar 2025 19:00:46 +0000 (19:00 +0000)] 
Work around compilers that do not understand flexible arrays, in the
recovery extension and in the fuzzcheck test module.

FossilOrigin-Name: f101c46cf83e532fd33034abccba496bf395ef10c161af003211614d6581d5eb

3 months agoFix alignment problems on Linux with -m32 and on Mac PPC.
drh [Sat, 15 Mar 2025 18:26:27 +0000 (18:26 +0000)] 
Fix alignment problems on Linux with -m32 and on Mac PPC.

FossilOrigin-Name: 8a91aeca60548d5cd19add128cf65b9c3815c9103b1ef8ff6bc02711b6d709de

3 months agoSpeed up parsing of very long fts3 query expressions.
dan [Sat, 15 Mar 2025 16:58:39 +0000 (16:58 +0000)] 
Speed up parsing of very long fts3 query expressions.

FossilOrigin-Name: 2dd5b6895a3b23c2b9cbf0c1c1e802faf8f2b41ef60819eea25d609755266e64

3 months agoConfigure-internal build cleanups (no functional changes). Add EXTRA_SRC to the deps...
stephan [Sat, 15 Mar 2025 15:19:42 +0000 (15:19 +0000)] 
Configure-internal build cleanups (no functional changes). Add EXTRA_SRC to the deps of sqlite3.c.

FossilOrigin-Name: 8afb8bbce8654d6f76207fb136e79dc52b6724a71eae82a4c098690a68eb75a1

3 months ago-fsanitize is a CFLAG, not LDFLAG, so rename some vars accordingly and simplify the...
stephan [Sat, 15 Mar 2025 13:50:07 +0000 (13:50 +0000)] 
-fsanitize is a CFLAG, not LDFLAG, so rename some vars accordingly and simplify the feature check to not run the linker.

FossilOrigin-Name: 44f2c64ec16f4720dc538be30410863c4138ea4ce41c94521bd7980535261735

3 months agoFor fuzzcheck-asan, dynamically determine the list of -fsanitize flags to use based...
stephan [Sat, 15 Mar 2025 13:36:01 +0000 (13:36 +0000)] 
For fuzzcheck-asan, dynamically determine the list of -fsanitize flags to use based on configure-time feature tests.

FossilOrigin-Name: b70f9cc81516e57e73960bed4b4d2abdcf3dab0ad4a400ca1aed49365c25231e

3 months agoOmit the -fsanitize=bounds-strict for now, as that is still not widely
drh [Sat, 15 Mar 2025 13:11:24 +0000 (13:11 +0000)] 
Omit the -fsanitize=bounds-strict for now, as that is still not widely
implemented.  In particular, it does not work on Macs.

FossilOrigin-Name: 3e1c2ac7817e73ea736a39bb0c0ec8212ceedbc89b265b4caf1b53871d27d7c0

3 months agoUse flexible arrays in the recovery extension and in the fuzzcheck test program.
drh [Sat, 15 Mar 2025 13:04:16 +0000 (13:04 +0000)] 
Use flexible arrays in the recovery extension and in the fuzzcheck test program.
Adjust the unix makefile to use -fsanitize=bounds-strict when building
fuzzcheck-asan.

FossilOrigin-Name: 6ea6a6b211fed1a14d7bec1ab1790dec09e2a00423860498a60b760c4a4561fa

3 months agoUse flexible arrays whereever appropriate in FTS5.
drh [Sat, 15 Mar 2025 12:22:39 +0000 (12:22 +0000)] 
Use flexible arrays whereever appropriate in FTS5.

FossilOrigin-Name: 16dfc415b6e98a2acae79a24bb0afd401e60efc27cbdd1603a426fd33e17d427

3 months agoConvert the Fts5Sorter.aIdx field to a flexible array.
drh [Sat, 15 Mar 2025 00:11:22 +0000 (00:11 +0000)] 
Convert the Fts5Sorter.aIdx field to a flexible array.

FossilOrigin-Name: 28ac776a23da2753265a7fe2ee2ebb09964815fc9058e69c08275fc217842edc

3 months agoTurn Fts5Colset.aiCol into a flexible array.
drh [Fri, 14 Mar 2025 23:57:53 +0000 (23:57 +0000)] 
Turn Fts5Colset.aiCol into a flexible array.

FossilOrigin-Name: 0c4d9c74741794468adc444908f6024f016738aa2852d3a646f2c28d079d9446

3 months agoIn FTS3, rename the MatchinfoBuffer.aMatchinfo field to aMI, to avoid confusing
drh [Fri, 14 Mar 2025 23:20:12 +0000 (23:20 +0000)] 
In FTS3, rename the MatchinfoBuffer.aMatchinfo field to aMI, to avoid confusing
it with MatchInfo.aMatchinfo.  Make aMI a flexiable array.

FossilOrigin-Name: bb00b973980d259ca85af84c054501cae78b3a9d33ccffa54d7034235dd8d50d

3 months agoFix one of two flexible arrays in FTS3.
drh [Fri, 14 Mar 2025 21:15:11 +0000 (21:15 +0000)] 
Fix one of two flexible arrays in FTS3.

FossilOrigin-Name: ddfa87c17906ecf7fd5639a87bbfa9a87d17ab688159acd2fd80cc5b6f25f09b

3 months agoUse flexible arrays for RTREE.
drh [Fri, 14 Mar 2025 20:19:49 +0000 (20:19 +0000)] 
Use flexible arrays for RTREE.

FossilOrigin-Name: 2b41776179c726586e3ff836edcf235938cf02f7c5e33c1d6954b84d4061b8d5

3 months agoKeyInfo is now an indeterminate size, so we cannot declare a variable of that
drh [Fri, 14 Mar 2025 19:07:11 +0000 (19:07 +0000)] 
KeyInfo is now an indeterminate size, so we cannot declare a variable of that
type, only a pointer to an instance of that type.

FossilOrigin-Name: 37b687dc2d3b9dc82ed09a9c5b2c00e576b1eebe358a20d18a3da190347b644e

3 months agoMake use of the flexible-array feature of C99, when available, to try to
drh [Fri, 14 Mar 2025 18:10:02 +0000 (18:10 +0000)] 
Make use of the flexible-array feature of C99, when available, to try to
pacify -fsanitize=strict-bounds.  This check-in fixes the core. There is
more yet to do in FTS3, RTREE, and in FTS5.

FossilOrigin-Name: 6fd6b32d06bd6a705e5140cd613af823b8183a6f6a9ceeeedfcf5e8b50821d68

3 months agoFix an internal doc typo reported in [forum:e25e581f917|forum post e25e581f917].
stephan [Fri, 14 Mar 2025 12:37:36 +0000 (12:37 +0000)] 
Fix an internal doc typo reported in [forum:e25e581f917|forum post e25e581f917].

FossilOrigin-Name: fa6f6ccdffc50024624306900efd2538c7415d8bdd0f02835b2e9c05adab3cf1

3 months agoCherrypick the [2b582c0097e33] doc addition, which was initially committed to the...
stephan [Fri, 14 Mar 2025 09:34:09 +0000 (09:34 +0000)] 
Cherrypick the [2b582c0097e33] doc addition, which was initially committed to the wrong branch.

FossilOrigin-Name: f786de8d1873cd27b1bf83273a1e100e9d481144674888ccf65974e003a3caad

3 months agoFix the generate_series extension for the case where the termination value
drh [Thu, 13 Mar 2025 18:51:18 +0000 (18:51 +0000)] 
Fix the generate_series extension for the case where the termination value
is not an even multiple of the step from the start value and there is also
a value=NNN constraint in the WHERE clause.
[forum:/info/bf2dc8e909983511|Forum post bf2dc8e9]

FossilOrigin-Name: 75e72e3b0d0d689d39e00a01dc361dd6ce2649e68d200bf501ddcf04063041b2

3 months agoThe --echo flag on the CLI also echos dot-commands provided on the command-line.
drh [Wed, 12 Mar 2025 15:17:13 +0000 (15:17 +0000)] 
The --echo flag on the CLI also echos dot-commands provided on the command-line.

FossilOrigin-Name: 6ec0c03b954cf705da076d035a1cc2e784233ae28857385379e44a59af6c5ec4

3 months agoThe substitute "puts" command used by the Windows implementation of
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.

FossilOrigin-Name: ba058ce90a2ba9ebc4d8fb289108c04f80fa85da01c0b8bd58855681836ba83d

3 months agoEnsure that the TEMP database has been initialized at the beginning of
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].

FossilOrigin-Name: 2cfccdbe08b7b14a6b255f7157ac20d0807327adefcb33fcffeeed14c7603fe1

3 months agoAdd an explicit db close to test/walsetlk.test to work around an unjustified test...
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.

FossilOrigin-Name: f418de109335cd7cb29d2b587540c163bbaaa7129c662c2908ef67492139b2d7

3 months agoDisable the [d1ba200234f40b84|count-of-view optimization] if any subquery
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].

FossilOrigin-Name: d7013b63932b2f5750572ae6bdd259a2b6e6548c20fb9a5559edd22d2f2fc6cb

4 months agoBack out the most significant part of [5c28a17253e2f], as Cygwin is a hybrid. With...
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.

FossilOrigin-Name: 44adf8f38761a0d756c047f93fc76fc1d0aba8cc209970e3ba13e7040dd14b13

4 months agoVarious typo fixes reported by Daniel Dumitriu. No functional changes.
stephan [Thu, 6 Mar 2025 09:08:38 +0000 (09:08 +0000)] 
Various typo fixes reported by Daniel Dumitriu. No functional changes.

FossilOrigin-Name: 37e6ec777445d8ef81acecbb66f86ae78f2ae67ef0bfd3fbd089da51fff35cc9

4 months agoAdditional 'array index is signed char' warning cleanups for the shell and its embedd...
stephan [Thu, 6 Mar 2025 07:48:45 +0000 (07:48 +0000)] 
Additional 'array index is signed char' warning cleanups for the shell and its embedded extensions, analog to [44bd44532d].

FossilOrigin-Name: f31042595b8f8a378db9778c9a8223b07ec02cf2f528581ba43bf72b5b03c964

4 months agoFix a tcl typo in the previous checkin which triggers an error on one machine but...
stephan [Thu, 6 Mar 2025 07:09:50 +0000 (07:09 +0000)] 
Fix a tcl typo in the previous checkin which triggers an error on one machine but not another.

FossilOrigin-Name: 646c2821ad434058db7760e699d21a47c7feb5976199cbe4b58d54c902720cbf

4 months agoHave the configure script report cygwin as SQLITE_OS_UNIX instead of SQLITE_OS_WIN...
stephan [Thu, 6 Mar 2025 06:25:45 +0000 (06:25 +0000)] 
Have the configure script report cygwin as SQLITE_OS_UNIX instead of SQLITE_OS_WIN, per off-list discussion with Jan Nijtmans.

FossilOrigin-Name: 5c28a17253e2fe56d7fd97cc43345b3fd8bd59fccea3fb1547ed87f7902f76f5

4 months agoHave the recover module add "PRAGMA foreign_keys = off" to SQL output. Have the shell...
dan [Wed, 5 Mar 2025 19:39:02 +0000 (19:39 +0000)] 
Have the recover module add "PRAGMA foreign_keys = off" to SQL output. Have the shell tool add ".dbconfig defensive off".

FossilOrigin-Name: dcfe3d3292851aa48a085a2c68623b049e2786c8dc7154ccc78508443973b5a1

4 months agoAlways ignore comments in the schema of a database, even if
drh [Wed, 5 Mar 2025 18:18:17 +0000 (18:18 +0000)] 
Always ignore comments in the schema of a database, even if
SQLITE_DBCONFIG_ENABLE_COMMENTS is turned off.

FossilOrigin-Name: 373ae3f4de526c636c35db03d6b5c84526d6f144c1c3bebcbb257e52f563a203

4 months agoUpdate the recovery extension so that it works with encrypted databases.
dan [Wed, 5 Mar 2025 17:26:56 +0000 (17:26 +0000)] 
Update the recovery extension so that it works with encrypted databases.

FossilOrigin-Name: b0b66f21159b47e1950ca63a01f92fe4f621efb9a2962b310d65fa7ebdbb43b3

4 months agoUse AtomicRead() and AtomicWrite() to access the pcache1_g.bUnderPressure
drh [Wed, 5 Mar 2025 17:12:42 +0000 (17:12 +0000)] 
Use AtomicRead() and AtomicWrite() to access the pcache1_g.bUnderPressure
global, to forestall unnecessary angst from thread analyzers.

FossilOrigin-Name: 41ec85637a7fac710a3986ee78ed25a96d331a03653069bae4d9f826cc6f944a

4 months agoImprovement output for ".schema --indent" in the CLI when the schema contains
drh [Wed, 5 Mar 2025 16:35:51 +0000 (16:35 +0000)] 
Improvement output for ".schema --indent" in the CLI when the schema contains
partial indexes with long and complicated WHERE clauses.

FossilOrigin-Name: defd7187ff8c4388f8b5467ed168462ec48215a1f4263bc4128b8e4d89a0bb2a

4 months agoMinor configure script cleanups which started out as cygwin-specific fixes but ended...
stephan [Tue, 4 Mar 2025 21:37:40 +0000 (21:37 +0000)] 
Minor configure script cleanups which started out as cygwin-specific fixes but ended up just being minor platform-agnostic cleanups.

FossilOrigin-Name: 2cda90410ac62843fa3cf5a9592b2b25564cf9d829e107c85854e8167d4fe46d

4 months agoRoll back part of [6d87a8efe]: the check for tclsh90.exe (as opposed to tclsh9.0...
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.

FossilOrigin-Name: dc84976a7c0d0028b7c576d54e18d1b8e1fc2376bc7b0504f1c86e82c1f7c814

4 months agotclsqlite3 patch from Christian Werner: replace FILE handles with TCL channels for...
stephan [Tue, 4 Mar 2025 21:25:18 +0000 (21:25 +0000)] 
tclsqlite3 patch from Christian Werner: replace FILE handles with TCL channels for the db copy command.

FossilOrigin-Name: ea1f7f8de4abb80fe41a115c9f601ff27cd728493640c6d47d868913feec28dc

4 months agoTeach autosetup how to find tclsh v9.0 on cygwin.
stephan [Tue, 4 Mar 2025 19:38:38 +0000 (19:38 +0000)] 
Teach autosetup how to find tclsh v9.0 on cygwin.

FossilOrigin-Name: 6d87a8efe5611102eac150e5dc1e9d9602318ab8b96046b29c66602e7c3d12fa

4 months agoMakefile doc updates. Remove a couple extraneous targets. No functional changes.
stephan [Tue, 4 Mar 2025 07:29:28 +0000 (07:29 +0000)] 
Makefile doc updates. Remove a couple extraneous targets. No functional changes.

FossilOrigin-Name: 5a3e22999f8da075f7ca3e039f10386fb85295a2457c9495d2c48b7137a84296

4 months agoMinor doc typo fixes via [forum:65bd941da8|forum post 65bd941da8].
stephan [Tue, 4 Mar 2025 06:29:03 +0000 (06:29 +0000)] 
Minor doc typo fixes via [forum:65bd941da8|forum post 65bd941da8].

FossilOrigin-Name: 6f6a03e93cf58eaee79603de0b28ad34c872fb4b4b7d9c4e7fe35c698b27618a

4 months agoDocument the EXTRA_SRC makefile var and add --amalgamation-extra-src=list to the...
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.

FossilOrigin-Name: 44de0ec29a86f91a227132f7af8898108d555463b754b299eace0ee8475bad57

4 months agoInternal configure script cleanups. Resolve an as-yet-hypothetical corner case involv...
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].

FossilOrigin-Name: 0554c00f32b7cc81d35340080df10ea6d66c9ff07fe749ea76cc523a4149b5c8

4 months agoMinor configure script doc tweaks. This is also a note that the basic elements of...
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).

FossilOrigin-Name: acf9babf0efc346b26c8ac02c0bd973498bf1604b47fe320de14027f9b21ed33

4 months agoEnsure that detection of control characters by comparison against 0x1f
drh [Sun, 2 Mar 2025 20:29:49 +0000 (20:29 +0000)] 
Ensure that detection of control characters by comparison against 0x1f
uses unsigned characters. [forum:/forumpost/4c344ca61f|Forum post 4c344ca61f].

FossilOrigin-Name: b7c5ce84216cc7f5a3ba07404572edb94fd628b3a7421111cd5f5333f3e56ea8

4 months agoUse SQLITE_EXTRA_INIT_MUTEXED instead of SQLITE_EXTRA_INIT for the SQLITE_WASM_EXTRA_...
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.

FossilOrigin-Name: 46479c2e30b9676e0fa8da117ba67f673671fb340c9bea38ece19a1b2371a57b

4 months agoAdd an assert() in vdbesort.c to help both humans and static analyzer AIs
drh [Sat, 1 Mar 2025 11:47:01 +0000 (11:47 +0000)] 
Add an assert() in vdbesort.c to help both humans and static analyzer AIs
understand why a particular array cannot overflow.

FossilOrigin-Name: a14d4afd5020af327629e5c72b0699ddab0ef4e3f23938a1b72669aa29fc2e87

4 months agoIn the CLI, ensure that all calls to ctype.h macros are cast to unsigned char.
drh [Fri, 28 Feb 2025 15:54:28 +0000 (15:54 +0000)] 
In the CLI, ensure that all calls to ctype.h macros are cast to unsigned char.
Apparently cygwin needs this.

FossilOrigin-Name: 44bd44532d4a63b2f600427dc425bde618bcc21e4abffaa2ec19f27350e54732

4 months agoLatest upstream autosetup. Fixes two minor corner-case issues which we haven't yet...
stephan [Fri, 28 Feb 2025 04:58:43 +0000 (04:58 +0000)] 
Latest upstream autosetup. Fixes two minor corner-case issues which we haven't yet seen in practice.

FossilOrigin-Name: 5c2438a719de6787c2f7c9f38d14d5ccdb8d36a120657661ec28051c83a93270

4 months agoApproximately 100 typo corrections spanning the whole tree, submitted via [forum...
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.

FossilOrigin-Name: f50c21484d3cac73589da0376c423de39ae8b842218105786c5aa3726e4dcaed

4 months agoReimplement testrunner_data.tcl::trd_get_bin_name() to assume a .exe extension on...
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.

FossilOrigin-Name: ce5519102a1b4df5d513835974799cdcda3478ec53ae99bbb631951095291919

4 months agoStrive to make sorts stable in the mkpragmatab.tcl build script, so that
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].

FossilOrigin-Name: 3f57584710d611748eb0af797c58c72e4ac099db09f5286cafdbd9a8ce354c90

4 months agoMerge back a sequence of three changes that were branched due to a build break.
drh [Thu, 27 Feb 2025 15:55:01 +0000 (15:55 +0000)] 
Merge back a sequence of three changes that were branched due to a build break.

FossilOrigin-Name: 67809715977a5bad0ec7830e27746aba2080852eb725d471c0fd62d4f464a884

4 months agoFix build break in [e2bd23f251359e7a]. build-break
drh [Thu, 27 Feb 2025 15:52:15 +0000 (15:52 +0000)] 
Fix build break in [e2bd23f251359e7a].

FossilOrigin-Name: 6ed84211033ee0ff00c8fd088979fe06d3a264e4f935162f36a62c00af135c63

4 months agoAdd support for SQLITE_EXTRA_INIT_MUTEXED - like SQLITE_EXTRA_INIT, but is called...
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.

FossilOrigin-Name: 3cf88d429f6e7c10b8f19c283151541924c4bb84bbd0d2e05cabdd4f9f0e88c9

4 months agoInternal doc typo fixes reported in [forum:01d15f21b6|forum post 01d15f21b6].
stephan [Thu, 27 Feb 2025 03:23:33 +0000 (03:23 +0000)] 
Internal doc typo fixes reported in [forum:01d15f21b6|forum post 01d15f21b6].

FossilOrigin-Name: d6514c20ff583ccc4fb3a526fb8f86a563224f513ee10bb39a978046bd952726

4 months agoTeach testrunner how to run local binaries which have a .exe extension. Also teach...
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).

FossilOrigin-Name: e2bd23f251359e7a818c4cfacf114aa9fd8c0a9a1cb802654e96fad67b505508

4 months agoTest testrunner.tcl to identify an msys environment.
stephan [Wed, 26 Feb 2025 18:31:42 +0000 (18:31 +0000)] 
Test testrunner.tcl to identify an msys environment.

FossilOrigin-Name: e9f777ceda9fca51c37caca0afeadfc3f99b86e945496f52c71adcc520dcee98

4 months agoUndo part of [69e83ab859c], as that order of operations breaks the --prefix=... confi...
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.

FossilOrigin-Name: cd2a84a72c922c330441d6b75df0c8b2f6df2c25bc7c37ac37046fffd702624a

4 months agoconfigure: extend the readline detection a bit so that it can find readline on termux...
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.

FossilOrigin-Name: 52f528c4be4ee4ae4ee4c05009c33bb97269d27380ce2cdd717a514616f39be7

4 months agoShift some bootstrapping configure bits to avoid emitting extra output if --help...
stephan [Wed, 26 Feb 2025 09:14:26 +0000 (09:14 +0000)] 
Shift some bootstrapping configure bits to avoid emitting extra output if --help is specified.

FossilOrigin-Name: 69e83ab859ca37c047defdaba84e80d028b30045631e773bd8dfa286c41a57e8

4 months agoFix a bug in mkwasmbuilds.c which caused sqlite3.wasm to get deleted directly after...
stephan [Wed, 26 Feb 2025 03:20:26 +0000 (03:20 +0000)] 
Fix a bug in mkwasmbuilds.c which caused sqlite3.wasm to get deleted directly after it was built.

FossilOrigin-Name: 1a72d1d13e42f69f02861f8ac3058e69b78d4fd2050ca8c53a1ce016b7e0863d

4 months agoDisable some misuse tests that sometimes cause segfaults during
drh [Tue, 25 Feb 2025 21:16:13 +0000 (21:16 +0000)] 
Disable some misuse tests that sometimes cause segfaults during
"make releasetest".

FossilOrigin-Name: 5856251a7e8a69aa181f89533bc2a78812d8b450a407b4b2f73f0c146cd78072

4 months agoApproximately 50 typo fixes, spanning the whole tree, contributed via [forum:006c8fa1...
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.

FossilOrigin-Name: af928818a030924060ee0762431dae0f16d53a62f4e1132754d052eb9c621ac2

4 months agoFix a test case that was broken when the default --escape type was changed
drh [Tue, 25 Feb 2025 20:36:46 +0000 (20:36 +0000)] 
Fix a test case that was broken when the default --escape type was changed
by the previous check-in.

FossilOrigin-Name: 5f2531e068b4856db2270518c370b65cbd0c0ab5443d76f1fb1116fe9ad80296

4 months agoChange the default control-character escape algorithm from "symbol" to
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.

FossilOrigin-Name: d35320495eb282601ab4f3b9efc53c7c1d58e890f025317e34c7046a43c8cb53

4 months agoFix harmless "unused parameter" compiler warnings.
drh [Tue, 25 Feb 2025 20:02:58 +0000 (20:02 +0000)] 
Fix harmless "unused parameter" compiler warnings.

FossilOrigin-Name: 7a68a3ead8e6c75203641542256bcfa05067bed4bf9035452fbd134534801a08

4 months agoImproved help messages for the --escape option in the CLI.
drh [Tue, 25 Feb 2025 18:10:47 +0000 (18:10 +0000)] 
Improved help messages for the --escape option in the CLI.

FossilOrigin-Name: e6784af6d50f715338ae3218fc8ba1b894883c27d797f0b7fd2625cac17d9cd7

4 months agoConfigure script cosmetics: emit the host/build system info before the directory...
stephan [Tue, 25 Feb 2025 16:39:51 +0000 (16:39 +0000)] 
Configure script cosmetics: emit the host/build system info before the directory info.

FossilOrigin-Name: 6f0b6d95db17e69ac7e46a39f52770291ac4cfe43eea09add224946a6e11f04e

4 months agoRestructure [826bad10e9ccd6f71e] as that structure mysteriously breaks the --prefix...
stephan [Tue, 25 Feb 2025 16:11:25 +0000 (16:11 +0000)] 
Restructure [826bad10e9ccd6f71e] as that structure mysteriously breaks the --prefix=... configure flag.

FossilOrigin-Name: d284230f68616b78a527d34df777b0220376ba6a00e9e927d4ffb4cbddab900c

4 months agoEnhancements to help avoid problems in the CLI when trying display content
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.

FossilOrigin-Name: e3e509ae145ee2623ac68ededa59991a97fcd28313e03f67a3890b560c5381b0

4 months agoDiverse configure tweaks to better support package maintainers on the unix-on-windows...
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].

FossilOrigin-Name: 85b56fb0cce4b628f80b26a67b43236ef1557282775739bdbe7cc4d65948d66f

4 months agoReinstate the assert() removed by [0f6223b8]. Avoid holding a wal-mode write lock...
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.

FossilOrigin-Name: 277e150d6ab75de2407f6761aa2359df80a4e1dbce30788df06621dee05b2ef1

4 months agoFix a test script problem causing errors with Tcl 9.
dan [Tue, 25 Feb 2025 13:33:43 +0000 (13:33 +0000)] 
Fix a test script problem causing errors with Tcl 9.

FossilOrigin-Name: dbec2c47d09027f2458036f675c8af3f8f152c0530799582eeac231649eba501

4 months agoSmall performance improvement for the new %#Q conversion in printf. unistr
drh [Tue, 25 Feb 2025 12:18:27 +0000 (12:18 +0000)] 
Small performance improvement for the new %#Q conversion in printf.

FossilOrigin-Name: 17e440781e68d7d3ea68c5144e1e08e183f0caef595a6c7ac4ce56489c60f476

4 months agoUpdate the autoconf Makefile for nmake to support SETLK_TIMEOUT.
drh [Tue, 25 Feb 2025 12:11:57 +0000 (12:11 +0000)] 
Update the autoconf Makefile for nmake to support SETLK_TIMEOUT.

FossilOrigin-Name: 46909fe3348976448d6a0d9e9aacaeaccdf0978c9e9d10742a96842418ab3a08

4 months agoAvoid running certain tests in walsetlk2.test if SQLITE_ENABLE_SETLK_TIMEOUT is set...
dan [Tue, 25 Feb 2025 11:48:57 +0000 (11:48 +0000)] 
Avoid running certain tests in walsetlk2.test if SQLITE_ENABLE_SETLK_TIMEOUT is set to 2, not 1.

FossilOrigin-Name: 86788c08fa09019f224d5dbd76f06c1d113b04ca5eca5d773719194a8b02da22

4 months agoConsolidate two different UTF8 encoders into a single subroutine.
drh [Tue, 25 Feb 2025 11:47:34 +0000 (11:47 +0000)] 
Consolidate two different UTF8 encoders into a single subroutine.

FossilOrigin-Name: 6208e494858b9d362efc7db4e8aac6f8e93fe51d2e038c94dfa97c55a74688a0

4 months agoRemove an assert() added by [e88212b1] that is sometimes false.
dan [Tue, 25 Feb 2025 11:29:04 +0000 (11:29 +0000)] 
Remove an assert() added by [e88212b1] that is sometimes false.

FossilOrigin-Name: 0f6223b8f6c044db687f78e19f6373d0dda9155445c511a297efa05bac3b16e5

4 months agoFix the new shellA.test test script so that it works with Valgrind.
drh [Mon, 24 Feb 2025 23:34:50 +0000 (23:34 +0000)] 
Fix the new shellA.test test script so that it works with Valgrind.

FossilOrigin-Name: c3949852cee320c2e02123b99c33155c459b10b2ac8e4fe80b1b7624c9ce0817

4 months agoSupport SQLITE_ENABLE_SETLK_TIMEOUT on windows.
dan [Mon, 24 Feb 2025 21:27:16 +0000 (21:27 +0000)] 
Support SQLITE_ENABLE_SETLK_TIMEOUT on windows.

FossilOrigin-Name: e88212b10a7829ff42ef51a02863d788c929e54161faf492f9ef2ad90fd7074e

4 months agoSlightly simplify auto.def and autoconf/auto.def. configure-dll-support
stephan [Mon, 24 Feb 2025 20:53:50 +0000 (20:53 +0000)] 
Slightly simplify auto.def and autoconf/auto.def.

FossilOrigin-Name: d84f591b962ea44efb902043444e4e54bc55e5bb32e5108f04df824407c412dd

4 months agoUse an assert() to fix a harmless (false-positive) scan-build warning
drh [Mon, 24 Feb 2025 20:13:29 +0000 (20:13 +0000)] 
Use an assert() to fix a harmless (false-positive) scan-build warning
in the CLI.

FossilOrigin-Name: 4c56cd7392f114e27b43d8fcc79444c3078cd65285ba7dd3338a414e2a9f5392

4 months agoautoconf/auto.def: remove a define which made superfluous by [b8bf966628c0]. Add...
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.

FossilOrigin-Name: df95e908cacc7e8e749701ff49d2ce02a927c58a474dd9a362d5f84cb3d7413f

4 months agoconfigure: in autoconf build if both --disable-shared and --disable-static-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.

FossilOrigin-Name: b8bf966628c0cbbb6f0bc09a70800ac0b6b7f8c2d2f70c91f4b6e65daae0b192

4 months agoOnly use unistr() in columnar formats when strictly needed.
drh [Mon, 24 Feb 2025 17:50:49 +0000 (17:50 +0000)] 
Only use unistr() in columnar formats when strictly needed.
Do not use unistr() in insert mode when --escape is off.
More test cases.

FossilOrigin-Name: e029828de91b10b4c7f4a19bc70c35e4f36fae4ebf32b40553a6ba9f2b3af295

4 months agoAdd the unistr_quote() function that works like quote(), but also escape
drh [Mon, 24 Feb 2025 13:51:24 +0000 (13:51 +0000)] 
Add the unistr_quote() function that works like quote(), but also escape
control characters using unistr() if necessary.

FossilOrigin-Name: e99e37b54baf7283588ead4983e613a1e14c58a0b92be5f7b25b4d9d287b5324

4 months agoBug fix and initial test-case infrastructure for control-character escaping
drh [Mon, 24 Feb 2025 13:27:16 +0000 (13:27 +0000)] 
Bug fix and initial test-case infrastructure for control-character escaping
in the CLI.

FossilOrigin-Name: c809997792602a7299b8ab84d018a03d291695e308ce750fc8b9d7a824edfd6e

4 months agoOngoing work to get all the quoting and escaping variations in the CLI
drh [Mon, 24 Feb 2025 12:41:30 +0000 (12:41 +0000)] 
Ongoing work to get all the quoting and escaping variations in the CLI
working correctly.

FossilOrigin-Name: b77aea93e7eff0af408f598727caedcfc4428361b8440fbc1cc54c18f93abb69

4 months agoConfigure doc tweaks. Move the package version/build dir output so that it does not...
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.

FossilOrigin-Name: 826bad10e9ccd6f71e6dad90d41fb7d4a941e459d2e080901345ed8877ad5e38

4 months agoFurther consolidation of auto.def and autoconf/auto.def. Note in configure --help...
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.

FossilOrigin-Name: 17fd6836f362c646d6dadb40adc0a8a31e2bfc9416651dde2c156400b3aa06dd

4 months agoMerge latest changes from trunk into this branch. win32-enable-setlk
dan [Mon, 24 Feb 2025 10:52:34 +0000 (10:52 +0000)] 
Merge latest changes from trunk into this branch.

FossilOrigin-Name: 55324d1c862c42b95251a398c40930d9fa94debb1aec7d3d0ae734d6b17b4a59

4 months agoMove the configure output about the SQLite version and build dirs up, so that they...
stephan [Mon, 24 Feb 2025 10:30:59 +0000 (10:30 +0000)] 
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.

FossilOrigin-Name: 83e0f3d138abf33751f735169aee752ba1677c5df37c3947f2c8be3ea3629822

4 months agoFurther consolidation of the main auto.def and the autoconf auto.def content into...
stephan [Mon, 24 Feb 2025 08:42:40 +0000 (08:42 +0000)] 
Further consolidation of the main auto.def and the autoconf auto.def content into sqlite-config.tcl.

FossilOrigin-Name: 76a4efa9668791f23de8d4db1788708891f5efa01ba73bced6abfc54391c3b28

4 months agoConfigure-internal doc tweaks. Fix the distclean rules for libsqlite3.dll.a on msys...
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.

FossilOrigin-Name: 8641e2c7c868be67ebb367fe7c8ceeee0e0d96574c164191ce9e340e7a527f49