]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Sun, 3 May 2026 15:53:52 +0000 (15:53 +0000)]
Improvements to the non-printing character delimiter logic in the CLI
prompt, for improved accuracy and for improved testability.
FossilOrigin-Name:
f5649795cd8d7a1f270037ef0b212ea605c1665ec05a75a6da0b250f2aeab070
drh [Sat, 2 May 2026 23:40:40 +0000 (23:40 +0000)]
Change the non-printing character escapes for editline to U+0001 and
U+0002. Also insert those escapes for readline. Readline does not
need it (because it can figure them out on its own) but they are needed
when editline is being used in readline-compatibility mode, and we have
no way of distinguishing between editline and readline in that case, so
we might as well include them.
FossilOrigin-Name:
b9545b0f0b6fa0a777a064e1410b17f52cb49d853c188f9b8b3a772bd810ece3
drh [Sat, 2 May 2026 23:03:42 +0000 (23:03 +0000)]
Attempt to automatically insert U+0001 escape bytes before and after
ANSI X3.64 escape sequences when using editline, to work around the
limitations of editline.
FossilOrigin-Name:
63050bee6e5ed46cead14bd5a02b0cb6a7dbcdcb6a56601b90c10cf1c8d84efc
drh [Sat, 2 May 2026 20:19:31 +0000 (20:19 +0000)]
Fix a harmless compiler warning on some MSVC versions.
FossilOrigin-Name:
bb8f6deeff31e9cc9b5a88b17b29dc6cd4fb4515134fa8e9758e33e42bbe89b0
drh [Sat, 2 May 2026 17:30:33 +0000 (17:30 +0000)]
drh [Sat, 2 May 2026 15:58:28 +0000 (15:58 +0000)]
drh [Sat, 2 May 2026 11:47:22 +0000 (11:47 +0000)]
Close database connections in a timely manner to fix test script problems
on Windows.
FossilOrigin-Name:
068a53865a17d4c2b4ce227fc08a2c019d1dbf31d833842ec08ab5665a3565a3
drh [Fri, 1 May 2026 17:42:15 +0000 (17:42 +0000)]
drh [Fri, 1 May 2026 16:06:21 +0000 (16:06 +0000)]
Harden the recovery extension against SQL injections coming from the
sqlite_schema table of the database being recovered.
FossilOrigin-Name:
9190f1b9b8889e4d80c370db36b916744d5779de0ec51da0369bbe74adb7b931
drh [Fri, 1 May 2026 16:03:51 +0000 (16:03 +0000)]
Check-in [
1786fcd5b4ee6cd9 ] works great and generates correct code, but it
upset UBSAN. This check-in fixes the UBSAN complaint.
FossilOrigin-Name:
7cd76847e8c9b683e39c1063a343288f11b4aa5e9302394fe0c4244d361ee4f1
drh [Thu, 30 Apr 2026 18:23:58 +0000 (18:23 +0000)]
The value for /f and other filename substitutions in SQLITE_PS1 is now
"memory" if open on an in-memory database.
FossilOrigin-Name:
4aac1057eeaf6c29a4893e9c080497c780b0963e810c501532d79eba1b457f27
drh [Thu, 30 Apr 2026 16:52:56 +0000 (16:52 +0000)]
Remove lots of code used to support legacy Windows version (WindowsXP and
before). Use Slim Reader/Writer Locks on Windows for non-recursive mutexes,
since SRWLs are now available on all supported Windows platforms.
FossilOrigin-Name:
6f7a5ff22db10f889596239aae5f6a1130cbdfe72612ceee68cbeb3b86e40227
drh [Thu, 30 Apr 2026 15:41:01 +0000 (15:41 +0000)]
Fix a harmless compiler warning in src/mutex_w32.c.
FossilOrigin-Name:
8de796ca459f2c996937fe1107838b217572636110c8c09e358343385bf17a1b
drh [Thu, 30 Apr 2026 15:33:44 +0000 (15:33 +0000)]
Fix the memdb1.test test module so that it runs correctly on Windows.
FossilOrigin-Name:
9012f8ea7454bbb792b4361ed74d778e02b98ef44a443f9a23a27a4222fda747
drh [Thu, 30 Apr 2026 15:19:09 +0000 (15:19 +0000)]
Change the CLI warning that appears in the header about opening a
in-memory database, to be more readable.
FossilOrigin-Name:
cc64cafdfe0b0965fabaf9d561d9a108c20a3643f71b36e6a6c51fc8f30b82cb
drh [Thu, 30 Apr 2026 15:07:25 +0000 (15:07 +0000)]
Add the /m escape to the CLI prompt string. Use it to show "memory"
in italic for the default prompt for in-memory databases.
FossilOrigin-Name:
1e3c95393044279997833145cb610b98926fb0c8f53ae4fb35e9fcc6c1ded1a2
dan [Wed, 29 Apr 2026 19:14:54 +0000 (19:14 +0000)]
Fix a crash that could occur if the destination database of a backup is
replaced using sqlite3_deserialize() between the call to sqlite3_backup_init()
and the first call to sqlite3_backup_step(). Forum post [forum:
15d82885e2 |
15d82885e2 ].
FossilOrigin-Name:
1f940357f7bb160b583ac5b08ff4e32a9fef353255d032c5a18bcb04416c0f0b
drh [Wed, 29 Apr 2026 16:09:47 +0000 (16:09 +0000)]
Reduce the number of system calls in the os_win.c thunk from 81 down
to 58, as well as other simplifications.
FossilOrigin-Name:
c49521739c961ed5e38424bf26b2e34d8017a85122622ceac5af7398233fe343
drh [Wed, 29 Apr 2026 15:03:01 +0000 (15:03 +0000)]
Further simplifications to the interface to the Windows family of OSes.
An incremental check-in.
FossilOrigin-Name:
f2aa6b66d2a1b5bb2dc8a44788a061a549a846244354df19b44398839578461e
drh [Wed, 29 Apr 2026 14:02:23 +0000 (14:02 +0000)]
Simplify the Windows interface by removing support for various WindowsXP
and WindowsCE. This is a work-in-progress. More to follow.
FossilOrigin-Name:
4dbc4d19c4f3b58d0bedd766cfba65d9624903a5ab0a340eb83ddeec058607ea
drh [Tue, 28 Apr 2026 20:01:03 +0000 (20:01 +0000)]
Updates and simplifications to the mutex implementation on Windows. Uses
Slim Reader/Writer Locks for performance, for non-reentrant mutexes.
Requires WindowsVista or later.
FossilOrigin-Name:
a75aa5400f94531b8ffd00be4580b0578d8d81ba9681fd06b1d9d96a6180994c
drh [Tue, 28 Apr 2026 15:12:40 +0000 (15:12 +0000)]
Attempt to align instances of the sqlite3_mutex object at 128-byte boundaries
to prevent false-sharing in multi-core machines. See the discussion at and
around [forum:/forumpost/2026-03-25T23:15:03Z|forum post 2026-03-25T23:15:03Z].
FossilOrigin-Name:
1786fcd5b4ee6cd9b4780f3687dfaec5b90ef0476e0da266a94e069b98e70514
drh [Tue, 28 Apr 2026 12:49:10 +0000 (12:49 +0000)]
drh [Mon, 27 Apr 2026 14:01:23 +0000 (14:01 +0000)]
Improved detection of when the alternative windows-compatible main() is
needed in the sqldiff.exe utility.
FossilOrigin-Name:
e25b849a603cb08ab888641ff324e9aa129391c4792de86a62c55e9caf84c16e
drh [Mon, 27 Apr 2026 12:43:09 +0000 (12:43 +0000)]
Relax arbitrary length restrictions on some error messages in the CLI.
FossilOrigin-Name:
52f5531ded8e0d3da3dc4d5c9b3d14573041b9446e2c45b5093c958b6c74e0de
stephan [Mon, 27 Apr 2026 12:05:56 +0000 (12:05 +0000)]
Increase a stack-local buffer size to resolve a test regression introduced in [
ff084ae341eab5c ], in which some tests fail a pattern match check if their absolute file names are too long. Resolves [forum:
205f73db1b2806f5 |forum post
205f73db1b2806f5 ].
FossilOrigin-Name:
286fc22c7ca882b0b09de2f1b2a7e0b382af6c498f2f8ad237fe064feaa70d7f
dan [Mon, 27 Apr 2026 11:32:43 +0000 (11:32 +0000)]
Fix a crash that could occur if sqlite3_deserialize() was used to overwrite a database with an open transaction on it. Bug introduced by [
fc42d31d6fca21ab ] on 2018-03-07 and first released in version 3.23.0. This is not a vulnerability as an attacker that can exploit this already has the ability to execute arbitrary code. Forum post [forum:
39134ba029 |
39134ba029 ].
FossilOrigin-Name:
77662cce9aa452ba5820e5f1a864a802763bd83b937cdb16e7025219eff7bd08
stephan [Mon, 27 Apr 2026 06:48:07 +0000 (06:48 +0000)]
Refactor the uint128 type check to consolidate duplicated rules.
FossilOrigin-Name:
362ef7bc00eea180fb3458bd8887021aed54e321901483edc00ad6b23a33d8e5
stephan [Mon, 27 Apr 2026 05:55:38 +0000 (05:55 +0000)]
Feature detection fix for uint128 on RISCV 32-bit, reported in [forum:
f8d1417ce8eb2f22 |forum post 2026-04-26T11:41:01Z] and validated by the OP.
FossilOrigin-Name:
c4a2c20839ef75534d71d928a03ad276bdc488b0baa76c1505f48dc1ff0bcdd1
drh [Sun, 26 Apr 2026 18:35:26 +0000 (18:35 +0000)]
Improvements to temp-file cleanup on close in the CLI.
FossilOrigin-Name:
048c969c34eaaf8c203b996e999a7dbc94c47b4959719af9e6625052520f7135
drh [Sat, 25 Apr 2026 16:17:23 +0000 (16:17 +0000)]
In the CLI, eliminate the 2-second delay before getting the prompt back
after running a ".www" or ".excel". Instead, remember the name of the
temporary file that is to be deleted and delete it later.
FossilOrigin-Name:
4e9ee211ca661fe8978b7f676f33ef962ff5c8177bc7c5ad42b19a2fa4482d90
drh [Sat, 25 Apr 2026 15:05:46 +0000 (15:05 +0000)]
Simplify the modePush()/modePop() implementation in the CLI.
FossilOrigin-Name:
92cad2cd7284d3a969b713336865007da2b0b2a8eef367d4185802174cbd027a
dan [Sat, 25 Apr 2026 14:32:05 +0000 (14:32 +0000)]
Do not run expridx2.test as part of the "journaltest" permutation, as it requires wal mode.
FossilOrigin-Name:
11cfbae735669776c967522294b1606af90b4bd5379e2e1ed722520887b57757
dan [Sat, 25 Apr 2026 14:00:29 +0000 (14:00 +0000)]
Fix a single-byte OOB read that could occur in the session module when concatenating patchsets.
FossilOrigin-Name:
60d7cd625a6160ba1bc60fd00fab2e91e0deff42034c6864107c19330b35ea7a
drh [Sat, 25 Apr 2026 10:45:17 +0000 (10:45 +0000)]
drh [Sat, 25 Apr 2026 00:29:40 +0000 (00:29 +0000)]
Fix a problem in the CLI in which the ".www" command followed by
".dbstat" does not restore the mode to its original setting afterwards.
FossilOrigin-Name:
4a5cac1d00e1fa287ab8ce3437c0152a9f362d72bdb9976889c93f6368b3fd66
drh [Fri, 24 Apr 2026 20:27:42 +0000 (20:27 +0000)]
Fix test cases due to recent CLI default prompt changes. Make sure ANSI
escape codes are recognized on Windows terminals.
FossilOrigin-Name:
22b791e404f0895b0f343b2ce0e169a7ada8578e46a39a9f4bd3a31f81c9853c
drh [Fri, 24 Apr 2026 09:21:25 +0000 (09:21 +0000)]
Improvements to the default prompt for the CLI.
FossilOrigin-Name:
9ab0bb487f78ba5a51cd3b4efcee23b11096e90ebf3add4da18aea657e8de0b6
drh [Thu, 23 Apr 2026 22:15:18 +0000 (22:15 +0000)]
drh [Thu, 23 Apr 2026 20:13:14 +0000 (20:13 +0000)]
Fix harmless compiler warnings. Enhance the CLI prompt mechanism to make
it more easily reusable by other projects, and to add the /h, /H, and /u
escape sequences.
FossilOrigin-Name:
354ce4f5e2a86b621b2058a6372495a5919cf3dc88ce1ed3637642f720c48002
drh [Thu, 23 Apr 2026 20:06:16 +0000 (20:06 +0000)]
Fix a bug in [
dbc1d6f0a3452607 ] that disrupts the display when running
on a Windows console (not redirecting to a file).
FossilOrigin-Name:
75b5df2b0046827e985712b5725488b59667e2cfd171cde9f1194f2917165205
drh [Thu, 23 Apr 2026 16:40:34 +0000 (16:40 +0000)]
Improvements to the #define mechanism in the CLI that allows other programs
that incorporate the shell.c source file to customize some of the
prompt expansions.
FossilOrigin-Name:
e5f8840d11c1863cfc5c0b4a3d16c9ec9ab6ca6ecb7ff1a3a9a237715eed5d30
dan [Thu, 23 Apr 2026 15:54:00 +0000 (15:54 +0000)]
Have testrunner.tcl return a non-zero exit status if one or more tests have failed.
FossilOrigin-Name:
50ddc36d32540b6d98990b5c9a465beb5b68cc31ae3f0ed162f6fe07e7c74e2d
drh [Thu, 23 Apr 2026 15:05:46 +0000 (15:05 +0000)]
New CLI prompt escape sequences: /r, /A, /v, /V, and /D../D.
FossilOrigin-Name:
e7c7acd1a4e5cb0f8e68f119352480c1aa9dd3c2b289c92f88e9e697a2e440e0
drh [Thu, 23 Apr 2026 14:49:21 +0000 (14:49 +0000)]
stephan [Thu, 23 Apr 2026 14:05:36 +0000 (14:05 +0000)]
CLI shell: handle the special case of .prompt "" to not incorrectly report that as an OOM. Reported [https://fossil-scm.org/forum/forumpost/
ca277be73a |in the Fossil SCM forum].
FossilOrigin-Name:
3fa0500b964869c45f7b49717680b791049f7cd8c47a06a337dd22351d2002f9
dan [Wed, 22 Apr 2026 19:38:04 +0000 (19:38 +0000)]
When updating indexes on expressions, omit the update if the new indexed values are the same as the old.
FossilOrigin-Name:
f0fc4e5ec334da3a1db8b0334e23d1911874c96675690da94210b2afb45f7307
dan [Wed, 22 Apr 2026 19:25:12 +0000 (19:25 +0000)]
Add OOM test for the new code on this branch.
FossilOrigin-Name:
685be705a2a69e79de0d581e5bbe9d942133817342121786a551d95d59a4af6c
drh [Wed, 22 Apr 2026 19:12:48 +0000 (19:12 +0000)]
Mark branches that are believed to be unreachable.
FossilOrigin-Name:
18ed9736fbbea762e04b8ad156e83e577e60c5234a5e233540ad8664fe3b379c
dan [Wed, 22 Apr 2026 18:19:24 +0000 (18:19 +0000)]
Instead of adding a branch to OP_IdxInsert, use an extra OP_IfNull when updating indexes on expressions.
FossilOrigin-Name:
5112f96cb1428693614b91bcca78326fccf7289e395a920339676ceeba871e3f
dan [Wed, 22 Apr 2026 17:50:50 +0000 (17:50 +0000)]
Enable the optimization on this branch for indexes on expressions only.
FossilOrigin-Name:
3576b6930436b3149c5033476f70518e9b4adeaeec2538a68b7dc599eb854c47
dan [Wed, 22 Apr 2026 17:31:19 +0000 (17:31 +0000)]
Fix P3/P5 confusion in the comment above OP_IdxDelete.
FossilOrigin-Name:
0fb6ca8e22f355838a02223dd24b34c0669a6cc0b7ac80931c721db72cf5c1c8
dan [Wed, 22 Apr 2026 16:58:36 +0000 (16:58 +0000)]
Detect and omit cases where an index key is being replaced with an identical key.
FossilOrigin-Name:
7a01caf0d0864a462eb81b7643dcf89048f4ae56a29d762f0cfc38066218504f
drh [Wed, 22 Apr 2026 13:41:20 +0000 (13:41 +0000)]
Fix a integer type bug in the previous check-in.
FossilOrigin-Name:
5e1b5ff1c170e94956bf77bd38afcad6369cb9f9333864711212af045281ad0e
drh [Wed, 22 Apr 2026 12:22:32 +0000 (12:22 +0000)]
QRF and the CLI preserve zero bytes when outputing unformatted BLOB values.
FossilOrigin-Name:
dbc1d6f0a3452607e4e92155df0fdb1c5ea4ea5ad1654664f86383faf6c105ef
drh [Tue, 21 Apr 2026 22:19:38 +0000 (22:19 +0000)]
dan [Tue, 21 Apr 2026 20:40:22 +0000 (20:40 +0000)]
Disable optimization of nested EXIST loops. Possible fix for [forum:/forumpost/
077c02e8ed | forum post
77c02e8ed ].
FossilOrigin-Name:
d0d95a39bc211034071746395ee6dbcfbea9d573d27480655391ba9698f7e214
drh [Tue, 21 Apr 2026 20:28:38 +0000 (20:28 +0000)]
Fix the BETWEEN operator so that it propagates the EP_Subquery,
EP_Collate, and EP_HasFunc flags in the expression tree, as it ought.
Fix for the problem reported at
[forum:/forumpost/2026-04-21T19:10:55Z|forum post 2026-04-21T19:10:55Z]
and probably a bunch of other problems too. This has been incorrect
for a long time.
FossilOrigin-Name:
2d1d2947b28f5dcbf4c66b594e176038c4e71e61948a88db565c1cb1212657ce
dan [Tue, 21 Apr 2026 18:07:04 +0000 (18:07 +0000)]
Correctly dequote the constraint name passed to ALTER TABLE DROP CONSTRAINT. This improves upon the partial fix in [
7f5afb12f4 ]. Forum post [forum:/forumpost/
a746b08b87 |
a746b08b87 ].
FossilOrigin-Name:
9387238cb0bb2651c64ecb229072df039577d71fd91546a2f0c94ca9755bf25d
dan [Tue, 21 Apr 2026 16:40:08 +0000 (16:40 +0000)]
Disable optimization of nested EXIST loops. Possible fix for [forum:/forumpost/
077c02e8ed | forum post
77c02e8ed ].
FossilOrigin-Name:
64f0d9eb63a351de12bb9643f1f6390a89f6d95dc81c07f1dc409ee31bae6f83
drh [Tue, 21 Apr 2026 16:07:15 +0000 (16:07 +0000)]
Fix an off-by-one buffer size calculation in the decimal.c extension.
FossilOrigin-Name:
24df42104d5fd1cf974f2bf539fa7515808e21e68d64899c39f5fcf3bee49a48
drh [Tue, 21 Apr 2026 14:39:23 +0000 (14:39 +0000)]
Do not unnecessarily delay opening the database file in the CLI.
FossilOrigin-Name:
ab6ee76c1266b753d0749c63890f40db875536ceb4dd3252cc7a3386e386a0c1
drh [Tue, 21 Apr 2026 12:59:43 +0000 (12:59 +0000)]
Fix another bug in [/info/
e33da6d5dc964db8 |EXISTS-to-JOIN] - this one
having to do with an OFFSET clause of a LIMIT. Reported by
[forum:/forumpost/2026-04-21T10:57:09Z|forum post 2026-04-21T10:57:09Z].
FossilOrigin-Name:
1dd3c6a5e50ac3f617683678223e42f48636c17e58905506c5c74cc4bf05845c
stephan [Tue, 21 Apr 2026 10:19:38 +0000 (10:19 +0000)]
Reformulate how the OPFS async proxy Worker is loaded for the bundler-friendly builds to work around a bug in Vite in which it incompatibly rewrites the Worker's URL arguments. Addresses the discussion at [https://github.com/sqlite/sqlite-wasm/pull/159|npm package PR 159] and patch validated by Jure Rotar.
FossilOrigin-Name:
ec877a30f5c5db30b9154745140744c5cc80d89673d79e50901d7377599cf2b4
drh [Mon, 20 Apr 2026 10:28:19 +0000 (10:28 +0000)]
Fix the fileio extension for Windows builds so that it does not depend on
the sqlite3_win32_utf8_to_unicode() and sqlite3_win32_unicode_to_utf()
routines that are found in the SQLite core.
[forum:/forumpost/2026-04-20T02:02:56Z|Forum post 2026-04-20T02:02:56Z].
FossilOrigin-Name:
fe0414a9a3caf6af67f53a5f3534efd5d4bf4978ebce1c591ef62d6961e55701
drh [Sat, 18 Apr 2026 21:51:32 +0000 (21:51 +0000)]
Fix a harmless compiler warning in test/speedtest1.c.
FossilOrigin-Name:
13f0fd1daaf787bff6eded4a01c2cf47c79e52cf8812bb344995e28c015a4ed1
drh [Sat, 18 Apr 2026 12:31:53 +0000 (12:31 +0000)]
Performance improvement in the substr() and length() SQL functions.
Caution: The new code may give different results for malformed UTF8.
I do not consider that to be a problem by the GI/GO principle.
FossilOrigin-Name:
6124d27a33f4562f40777c2c6318d61709f7b481f23f9ade45064d8ad0700752
drh [Fri, 17 Apr 2026 19:12:27 +0000 (19:12 +0000)]
Fix a test case that started failing due to a change in the help text
for the ".prompt" command of the CLI.
FossilOrigin-Name:
bfe9df1bf4660ce6bdfd11a4f06d32694c93750c7bc0a6432459d9f1089eace4
dan [Fri, 17 Apr 2026 15:09:50 +0000 (15:09 +0000)]
Update interrupt2.test to avoid using Tcl_GetCommandInfo() from within calls to Tcl_DeleteCommand().
FossilOrigin-Name:
1979aa0902a43f20d4e396c5f9b9a49aaf0094d8520bf53ce058bb379a7720ab
drh [Fri, 17 Apr 2026 11:41:33 +0000 (11:41 +0000)]
Help-text and comment fixes in the CLI. Add the output-redir-test.txt
testing script.
FossilOrigin-Name:
ec58a133b4716d4f5a53c38853f8ecdb7a1275b931663ce07c8dc700d845e62e
drh [Fri, 17 Apr 2026 01:50:40 +0000 (01:50 +0000)]
Less error-prone parsing of ".once" options. Fix for the problem reported
by [forum:/info/2026-04-17T01:26:56Z|forum post 2026-04-17T01:26:56Z].
FossilOrigin-Name:
b235a8093734f457c2731af017c99027510d04e5cd1060f5559afbec5409a472
drh [Thu, 16 Apr 2026 19:50:52 +0000 (19:50 +0000)]
Fix testrunner.tcl so that it does not create directories with names
ending in "sqlite3.o" or "sqlite3.lo". Use "sqlite3obj" for those
directory names instead. Otherwise "make clean" gets confused.
FossilOrigin-Name:
a4bf9289c9cdb12b22bfb24e7e2b0243384e9edece12ae3fed14afbfe9b93260
drh [Thu, 16 Apr 2026 19:33:04 +0000 (19:33 +0000)]
Improved comments explaining the logic, and improved diagnostic messages
when testrunner.tcl encounters trouble loading the sqlite3 extension.
FossilOrigin-Name:
8d820b0ccfccff94ed5b7297fa587ac27a74e990f233cfe229da7409ab2e3af8
drh [Thu, 16 Apr 2026 17:07:23 +0000 (17:07 +0000)]
dan [Thu, 16 Apr 2026 16:43:32 +0000 (16:43 +0000)]
Run C-language tests in tests/c/ as part of release test.
FossilOrigin-Name:
e6929022b71c6bff7aa9cfbdb8a5e80499ca856b8c06d4211c55311b48704a08
drh [Wed, 15 Apr 2026 14:41:25 +0000 (14:41 +0000)]
The sqlite3_str_new() interface never returns NULL, even after an OOM.
Code that uses that interface should invoke sqlite3_str_errcode() to see
if an OOM has occurred.
FossilOrigin-Name:
cb910047edc591102dd4ed0d57c863b366981b8aa1d3085d5f95b1fbbabf6c31
drh [Wed, 15 Apr 2026 14:17:58 +0000 (14:17 +0000)]
Bug fix in sqlite3_str_free(): Do not crash if called on an sqlite3_str
object returned from sqlite3_str_new() following an OOM.
FossilOrigin-Name:
92d8ac0c4938e43b00111b43630ecfa91c30e5200ca03937a84f4b50bd1a13b3
drh [Wed, 15 Apr 2026 13:05:43 +0000 (13:05 +0000)]
Add support for the analyze() extension function to the fuzzcheck test
program.
FossilOrigin-Name:
abd94554d24122f0e0c3b7b36e5846e8c7aa0dddbddd9aae35b3f6ae6ab283c0
drh [Wed, 15 Apr 2026 12:47:37 +0000 (12:47 +0000)]
Improve the analyze() extension so that it returns a simple error message
as text (it does not throw an error) if the database is empty or is "temp"
or does not exist.
FossilOrigin-Name:
35379f60922f14d4f6d231ae627df066ad4e4510208bcc244505b9afb279f2fa
drh [Wed, 15 Apr 2026 12:35:23 +0000 (12:35 +0000)]
Fix harmless compiler warnings seen by MSVC in the previous check-in.
Also add ext/misc/analyze.c to the makefile dependencies for the CLI.
FossilOrigin-Name:
5a0ee6e227042e41ac64869c75f961798b252458670c18662175fe5bfa8b87d3
drh [Wed, 15 Apr 2026 12:20:11 +0000 (12:20 +0000)]
Add the analyze() SQL function implemented the ext/misc/analyze.c extension
(but not part of the amalgamation). Make that function available in the
CLI and add a new ".dbinfo" command to the CLI using that function.
FossilOrigin-Name:
4c4988e56df3c668b8891e2a55887a6618f5b84e9111e562b93059ddb9a662dc
drh [Wed, 15 Apr 2026 11:58:54 +0000 (11:58 +0000)]
Add a missing open_db() call in the new ".dbstat" command of the CLI.
FossilOrigin-Name:
a138e44a243466f8679e9652421f8c893a4a1bc0addc86736588d9aee51cf090
drh [Wed, 15 Apr 2026 11:41:50 +0000 (11:41 +0000)]
stephan [Wed, 15 Apr 2026 11:40:13 +0000 (11:40 +0000)]
On platforms which support ./configure --with-icu-config, ensure that 'make tclextension' includes the ICU pieces in the tcl extension. Intended to resolve [forum:
92a88de4b88929fe |forum post
92a88de4b88929fe ].
FossilOrigin-Name:
404fde8bacc3f05254a2fcdb1531a7f53125a7ad45dc6b68a5065c1d0c73b670
dan [Wed, 15 Apr 2026 11:23:30 +0000 (11:23 +0000)]
Avoid a potentially undefined left-shift in the fts5 porter tokenizer.
FossilOrigin-Name:
46a288e43e4c48fca6610bce6a2db418aaa3c8a1dcb115b7a0bfad2063355e58
dan [Wed, 15 Apr 2026 11:07:58 +0000 (11:07 +0000)]
Handle the case where the name of the constraint in an "ALTER TABLE DROP CONSTRAINT" command is quoted. [forum:
8bfbaec404 | Forum post
8bfbaec404 ].
FossilOrigin-Name:
7f5afb12f4a5d35cfe6b95f17d85ce85ce62159515bfe26fb9c67d3ce26b6d4a
drh [Wed, 15 Apr 2026 10:49:14 +0000 (10:49 +0000)]
Compute the average fanout for b-trees of depth 2 or more.
FossilOrigin-Name:
2f8598bb09f32100f22dd1d9465f3fa0f7f8d81f5d67c34de9919708345f090b
stephan [Tue, 14 Apr 2026 23:53:38 +0000 (23:53 +0000)]
Minor doc typo fixes contributed by BrickViking.
FossilOrigin-Name:
c4660ce205919ce0d9262e7fd7879375a72ef65d9e5ac97f19caf5dc36e355aa
drh [Tue, 14 Apr 2026 23:19:02 +0000 (23:19 +0000)]
Code simplifications. Return NULL is the specified SCHEMA does not exist.
FossilOrigin-Name:
953969c88149ea2f589942b98a0a96d907956319e5aa09e2d5a3ae76d3e7d70a
dan [Tue, 14 Apr 2026 20:18:54 +0000 (20:18 +0000)]
Handle a special case of a corrupt changeset in sqlite3changegroup_add().
FossilOrigin-Name:
eba625f917935437e3f366197df1c6717c7120ce0418a0cbac1d2024b2235091
dan [Tue, 14 Apr 2026 20:17:41 +0000 (20:17 +0000)]
Have the session module detect some corrupt changesets earlier.
FossilOrigin-Name:
0de91ff0d798cff21289d893cc441b89fc37b051d5cdf611d92d3ae2bc41cdf2
drh [Tue, 14 Apr 2026 20:17:03 +0000 (20:17 +0000)]
Merge trunk enhancements and fixes into the analyze-sql-func branch.
FossilOrigin-Name:
bb4a9beac87796b4186efce416bf03f840041bc588be6702c5a444d643df684e
drh [Tue, 14 Apr 2026 20:07:29 +0000 (20:07 +0000)]
Various minor tweaks and refinements to the analyze() function.
FossilOrigin-Name:
48d94e72eaec443011dd1f7a7264e5222c05bb515c84deaf20ed4195b74d45ff
dan [Tue, 14 Apr 2026 20:02:49 +0000 (20:02 +0000)]
Handle a special case of a corrupt changeset in sqlite3changegroup_add().
FossilOrigin-Name:
49b3bac482c831f503c7f90c35959e7ea731950e991baba86b2ab95987d2539b
drh [Tue, 14 Apr 2026 19:36:33 +0000 (19:36 +0000)]
Implementation of the analyze() SQL function is now mostly complete.
FossilOrigin-Name:
1ca0386ab2df0d88ed52941469d459114f483ecf6b7e4691bcc32e909636cb7d
drh [Tue, 14 Apr 2026 19:02:40 +0000 (19:02 +0000)]
Much, but not all, of the report generation is added. An incremental check-in.
FossilOrigin-Name:
289fefc3edfeecb06dc11897d3ff24763fd9e25db44e369eeec29b9ed3de5ccc
dan [Tue, 14 Apr 2026 18:12:09 +0000 (18:12 +0000)]
Ensure c-tests use the locally built sqlite3.h file, not the system copy.
FossilOrigin-Name:
2d81ee65ffbed30fd98bdda96dc79c1929c73f806cea3c9e4c244b618980b202
dan [Tue, 14 Apr 2026 18:08:30 +0000 (18:08 +0000)]
In RBU vacuum commands, do as SQLite does and ignore any trailing SQL statements in the sql column of the sqlite_schema table.
FossilOrigin-Name:
cf7dad1b105ab35cd7180efec735b7cbeaf42b8d53dfec5582b63cd121c3425c
drh [Tue, 14 Apr 2026 18:06:41 +0000 (18:06 +0000)]
drh [Tue, 14 Apr 2026 13:18:04 +0000 (13:18 +0000)]
Further fixes and clarifications. Now ready to start generating the
actual report.
FossilOrigin-Name:
037a0e586c4aa81a53aea164080e739f9d5b87197d04fdd68feb0ab5eb01020b