drh
6932c59ee5
Version 3.54.0
...
FossilOrigin-Name: be8d059e9a49089ab2dce5ed26dd87aaf598fdc5fbe0b107c0dd758464bcd5e3
major-release
version-3.54.0
2026-10-09 15:46:58 +00:00
drh
039ef9acc9
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: 7b468f6f1d63645c8d8132790831dac6916006f81cf97e99abec711de93feb23
2026-10-09 14:40:03 +00:00
drh
0e62f142b7
In the CLI, add comments to internal SQL functions making it clear that
...
those functions are subject to change and removal at any time, lest people
come to depend on them. No changes to code.
FossilOrigin-Name: a3332bd623d997921c3186433cd1eab0c9413aa0f68d93b1731cf80128ec3a36
2026-10-09 11:47:51 +00:00
dan
fdc06f3643
Fix a build script problem causing generated file sqlite3-all.c to #include "sqlite-10.c" instead of "sqlite-A.c".
...
FossilOrigin-Name: 962b207123fe2bd6d72ad49fb80822b4e4290c1d77ea4ca097ea341202d4cc5f
2026-10-09 11:22:17 +00:00
drh
9cba46343e
Remove the OP_IfNotOpen opcode. The OP_IfNullRow opcode is sufficient to
...
get the job done. This is a follow-up to [e71b0465b9fa13db].
FossilOrigin-Name: 797081cb705c65a466379e180344d0c9d781f10415c8ed8f72edc6ea065a1a28
2026-10-08 23:59:13 +00:00
dan
bfb858c596
Ensure the join flags on the parent are set correctly when flattening UNION ALL sub-queries that include branches with RIGHT joins. Report [bugs:/info/2026-10-08T15:27:33Z | 2026-10-08T15:27:33Z].
...
FossilOrigin-Name: cfa69ea48a7aa379ee0c30ae81d2802da862d610f829c933e5eb358c23fc2b9d
2026-10-08 19:34:24 +00:00
drh
d0fe192fa1
Disable the "expr IN (const)" to "expr=const" optimization of "const" has
...
a COLLATE clause, as using the collating on "=" would give the wrong answer.
[bugs:/info/2026-10-08T12:36:41Z|Bugs 2026-10-08T12:36:41Z]
FossilOrigin-Name: 53a73aa03d05350ebee81c3d2aef85744c8ebeda72f565083dc4b472b57c5499
2026-10-08 19:06:55 +00:00
drh
f19a90c569
Improvements to the display of DDL SQL statements in the CLI and in
...
the sqldiff command-line tool in order to close comments and similar
in the case of a corrupt schema, and avoid possible SQL injection
attacks. ANT-2026-9VFH4DZS.
FossilOrigin-Name: 028a92f9c353d3b400551954de2e09c1723076491f79ff767dd24b452654fda8
2026-10-08 18:34:12 +00:00
dan
28e05e55f6
Avoid clearing unrelated join related expression flags when processing window function queries. Report [bugs:/info/2026-10-08T15:38:26Z | 2026-10-08T15:38:26Z].
...
FossilOrigin-Name: c50d7f682cc95715e4577413196dbdb2845d7c845b0e760c7060b7cdcda87770
2026-10-08 17:57:48 +00:00
dan
ab1268f758
Fix test script errors causing problems on windows.
...
FossilOrigin-Name: 379c017e8f999c35e3b3de64fcc3923e45570ba20bee50a3dd00f6996990a033
2026-10-08 16:17:45 +00:00
drh
fd6452aff8
Make the sqlite3_incomplete() SQL function available in debugging builds
...
of the CLI, for testing.
FossilOrigin-Name: 07095b76c1f086790d35a5acd0a22b081e346bc2dca48a8fb0c0c978be2c2243
2026-10-08 13:26:45 +00:00
drh
64c2f58d73
Disable legacy "go" and "/" command terminator options in the CLI
...
unless compiled with -DSQLITE_SHELL_LEGACY_COMMAND_TERMINATOR.
ANT-2026-FE9980M1 and ANT-2026-G9MMWYGM.
FossilOrigin-Name: ac6ac0c22d98878cdf6042b5801cf5b5dc98c7b48077360d24a70b876921b428
2026-10-08 12:09:35 +00:00
drh
82fda1d99a
Sanitize "*/" in tables names of the output of the .diskused command
...
in the CLI, and in sqlite3_analyzer, so that it doesn't prematurely
close the comment. ANT-2026-XQM1QD48
FossilOrigin-Name: bcde8f991a86aed6280c1b6164bc14cc1aff1a966a694a5fb32341ffa0202960
2026-10-08 10:55:33 +00:00
drh
97048e902c
Update check-in [e71b0465b9fa13db] so that it does not try to to generate
...
an OP_NullRow opcode for cursors of an IN operator that do not actually
exist.
FossilOrigin-Name: ea315175a8076f22f85a57a01c5b490630ab20d5ed80144118ced61c8c24886d
2026-10-08 09:57:08 +00:00
drh
74675a9e87
Assign the correct encoding to the BLOB values read from an overflow page.
...
[bugs:/info/2026-10-07T15:44:40Z|Bug 2026-10-07T15:44:40Z]
FossilOrigin-Name: a8895cb047a3aeed35642111fa79bde9db962a5d7bc3f0cc472b4dbe510cb3f9
2026-10-08 03:28:50 +00:00
drh
644fa62518
Fix processing of LEFT JOIN when the right operand is controlled by an IN
...
loop. [bugs:/info/2026-10-07T23:22:09Z|Bug 2026-10-07T23:22:09Z].
FossilOrigin-Name: e71b0465b9fa13db3922e767c1d8979d221516475670dcd3fa4df1fab30176c6
2026-10-08 02:55:50 +00:00
drh
b0db2db988
Improved escaping of filenames with unusual characters sent over the SSH
...
link by the sqlite3_rsync utility program. ANT-2026-31X9HVRR.
FossilOrigin-Name: eaec2f7f3744d4cdf0cdafce22e1909208f93734bf55263a042938919bd81310
2026-10-07 23:07:55 +00:00
dan
aa49b4609a
Mark vec1 training function vec1_train() as SQLITE_DIRECTONLY, on the grounds that it sometimes prepares and executes SQL statements based on user-supplied arguments.
...
FossilOrigin-Name: 38c5972e914ba8c54b76f6de89501fce576c4a05a7f88f90c39b268203f54582
2026-10-07 21:12:50 +00:00
drh
1ffe6567e8
Include a work-around of the Microsoft "WorstFit" bug on Windows builds
...
of the sqlite3_rsync utility program. ANT-2026-H5TXKR5J.
FossilOrigin-Name: 2662a68f0d5ce1c8ffd6e8ec3e79b27f7cb5e6142a007a6641e1ac0b5a22037a
2026-10-07 17:05:09 +00:00
stephan
5af1b822f5
Doc-only tweaks in main.mk. No build changes.
...
FossilOrigin-Name: 2195709cd55c74021b5c5d5f4aed09143b8dad9dde99187096137ec6a575dd31
2026-10-07 15:45:48 +00:00
stephan
7e3819f40d
When calculating TCLLIBDIR from the configure script, filter out //zipfs: paths. Tcl9's (file isdir) returns true for those but they are not usable for our purposes, causing (make install DESTDIR...) to install tclsqlite3 under /zipfs. main.mk's counterpart to this piece already does that filtering by virtue of the shell's (test -d) behaving more conventionally.
...
FossilOrigin-Name: bb109cfa9dc02605451391c6ca4ea8cf18dd51f12e9666e3301152e89750917d
2026-10-07 12:50:08 +00:00
drh
9d50c7ebfc
Fix the expansion of "TABLE.*" so that it works the same as PostgreSQL
...
when TABLE is the left operand of a RIGHT JOIN USING.
[bugs:/info/2026-10-07T02:56:24Z|Bug 2026-10-07T02:56:24Z]
FossilOrigin-Name: d232720b7932c1cebe4cf5b1a1e9096889e1807844351390149dfeb2ea7fc304
2026-10-07 10:41:59 +00:00
drh
caa0b5886e
In the treeview display for Expr, show TK_ASTERISK nodes. Debugging
...
logic only - not used in production builds.
FossilOrigin-Name: 5cf4df16eb23e353834af79ba639e2e17f79d9cd11abcb325f5b7ac7f869b20d
2026-10-07 10:07:16 +00:00
drh
9f05c6e66b
Fix the implementation of O_TMPFILE so that it actually works.
...
FossilOrigin-Name: a435d786fe0e245e352d08d2e2ddf8c1e15154809e3b471810cc327e9d90ef85
2026-10-06 18:52:47 +00:00
drh
6222fff3a9
In the CLI, further improvements to delayed temp-file deletion so that
...
the test/output-redirect-test.txt script works even better.
FossilOrigin-Name: adacd1423f159fa4698f7e40dd1488256a13dff0b31cc90e28c3441109596ef4
2026-10-06 14:34:02 +00:00
drh
bf45b5e6ab
Fix to the time-delay temporary-file deletion logic in the CLI,
...
added by [4e9ee211ca661fe8] but never fully debugged. Now working
with the test/output-redir-test.txt test script.
FossilOrigin-Name: 9dd1e3a1c739045c08db36c0d6ea921472535dfab583bf689310491e64f4fa4b
2026-10-06 11:49:24 +00:00
dan
cd47f23e37
Increase version number returned by vec1_info() to "0.8". Also fix some warnings in vec1.c.
...
FossilOrigin-Name: 97014dfa8283019275e97f3245111b63cf9c3e2f2e9544e8790885ed0eac3c27
2026-10-06 11:13:01 +00:00
dan
77dd26bbed
Fix a case causing infinitely recursive calls to vec1.xSavepoint.
...
FossilOrigin-Name: a6f0843000e537a68be9e65693e8da276a4f66302a9a3c72f3a3417b6d275272
2026-10-06 10:30:12 +00:00
drh
a3426a5bcc
Fix the build for SQLITE_OMIT_WSD.
...
FossilOrigin-Name: 4bf968095f427e87ae3afe498f74e00e9058b154e12e2d261f317640f4b49cc4
2026-10-06 09:30:23 +00:00
drh
466e0851d9
When a 3-byte cell on the leaf of an index page, which has a reported size
...
of 4, is moved up to an intermediate page due to a DELETE, the 4-byte
page number is added. The cell should should become 7, not 8. If it
becomes 8, then the fragment count on the page header goes off by one.
This is technically corrupt, but is easily fixed with VACUUM.
[bugs:/info/2026-10-05T19:18:18Z|Bug 2026-10-05T19:18:18Z]. This issue
has been in the code for at least 12.5 years.
FossilOrigin-Name: a61987887a942abc4bdd10691455211b9b93028dd8c6cd5302bbd406f6474cc7
2026-10-05 22:16:16 +00:00
dan
c62b4abb99
Handle temp triggers attached to databases clobbered by sqlite3_deserialize() in the same way as those attached to DETACHed databases.
...
FossilOrigin-Name: 84c773fcc2f785346fd12e8a17ac45f9068797d9629ddc367318994b6fed421b
2026-10-05 18:07:26 +00:00
dan
b642a1d56d
Ensure that deserializing into a database expires existing prepared statements.
...
FossilOrigin-Name: de0361b1caa97d36ea79a5bcb032539ccfb235c03581e0e88c54c03a321d7911
2026-10-05 17:51:16 +00:00
drh
95170adc37
Fixes to sqlite3_incomplete() so that it does not appear to presume a
...
trailing newline if there is none.
[forum:/info/2026-10-05T16:22:33Z|Forum 2026-10-05T16:22:33Z]
FossilOrigin-Name: adc1113cfd1d675a44a4ef34d7be3e0cf20129840e542d692fefa249780e23b8
2026-10-05 17:32:25 +00:00
dan
8a91f5484c
Do not run new virtual table tests in memdb1.test for SQLITE_OMIT_VIRTUALTABLE builds.
...
FossilOrigin-Name: eced240b2a991ff8255f98d189a6874dda44e3cdb1fcd07e74abddf2a9a71ea4
2026-10-05 17:25:06 +00:00
dan
5ee733befe
Allow windows clients to open and recover a wal mode database even if an old client still has the *-shm file mapped. Forum post [forum:/info/2026-10-05T14:07:31Z | 2026-10-05T14:07:31Z].
...
FossilOrigin-Name: 7c103a0b7d509dce58aa87518e13213451e5f70938ff08aa55accd645e3b2ff3
2026-10-05 17:11:27 +00:00
drh
f0c7055db7
Omit the -r command-line option from Lemon. That does not affect
...
SQLite. [forum:/info/2026-10-05T15:11:11Z|Forum 2026-10-05T15:11:11Z].
FossilOrigin-Name: bc72b1d95c2f098a92013ad9f4ab60440c105cd17889d12ae7349a4531a90c75
2026-10-05 15:20:48 +00:00
drh
45cd455d79
Update test cases so that they work for configuration that use
...
-DSQLITE_MAX_EXPR_DEPTH=0.
FossilOrigin-Name: 4bfc6e53a95d710b7f40fa9c80d8cdd1df50d69ed8614e9800f7e6a1ca5a3c29
2026-10-05 14:22:13 +00:00
dan
6e20be1c58
Ensure that eponymous virtual table objects are not left with dangling schema pointers if the main database is overwritten using sqlite3_serialize().
...
FossilOrigin-Name: 18d2646f6fa56244be12122873cd9aa48b2074a22f0be637edfcc9b5de99158b
2026-10-05 14:03:54 +00:00
drh
8532bf12f4
Correctly rollback "OR REPLACE" changes following a "datatype mismatch" error.
...
[bugs:/info/2026-10-05T07:15:40Z|Bug 2026-10-05T07:15:40Z].
FossilOrigin-Name: 028f3f96a0af9fc71f1c191bbd44e0b7c3884d0571931b2808e4cdd1bb2f5081
2026-10-05 13:27:07 +00:00
drh
eff50a067c
Prevent the expression generated by the count-of-view optimization from
...
getting too deep and causing a CPU stack overflow.
[bugs:/info/2026-10-04T05:34:47Z|Bug 2026-10-04T05:34:47Z]
FossilOrigin-Name: ab621a3e11ee4accce14bf6c90a7cc273d9c25a7c3d9dd2466f2bdc2bbbf8084
2026-10-05 12:18:23 +00:00
dan
4cf3766d09
Ensure that when a value that may be stored without data loss as an integer is stored in a column with REAL affinity, the values passed to the preupdate-hook are of type SQLITE_FLOAT, not SQLITE_INTEGER. Report [bugs:/info/2026-10-04T16:18:21Z | 2026-10-04T16:18:21Z].
...
FossilOrigin-Name: 9f7490065e24fc69a5fc13371aeb40214d617209bb0cd9a3e23f76486d4704c0
2026-10-05 11:29:02 +00:00
dan
1ad569d147
Ensure that it is not a constraint violation if a CHECK constraint that evaluates to NULL for one or more existing rows is added to a table using ALTER TABLE. Report [bugs:/info/2026-10-05T07:36:38Z | 2026-10-05T07:36:38Z].
...
FossilOrigin-Name: f940c67b21b112e33bfdd54f2c3a19b06ad5bf661ddf2f85dd464fb76d115e31
2026-10-05 10:54:29 +00:00
drh
996ded6c48
Raise a "nested too deep" error if the number of cursors consumed when
...
resolving a CTE name exceeds SQLITE_LIMIT_EXPR_DEPTH.
[bugs:/info/2026-10-04T05:35:14Z|Bug 2026-10-04T05:35:14Z]
FossilOrigin-Name: e68aa6e1293a2c7ad37d4b9fea8e649c318f9b4c64381eefebd0413363f56da4
2026-10-05 10:41:45 +00:00
drh
e6ff280c83
Limit the depth of recursion for CTEs using SQLITE_LIMIT_EXPR_DEPTH.
...
[bugs:/info/2026-10-04T04:58:58Z|Bug 2026-10-04T04:58:58Z].
FossilOrigin-Name: f54730871303e655a70f3167ce1a39dcd4e53fcf017d225f429e2bb67ad96604
2026-10-05 09:32:24 +00:00
drh
d54522a5b8
Fix expression tree depth calculations for COLLATE.
...
[bugs:/info/2026-10-04T04:50:56Z|Bug 2026-10-04T04:50:56Z]
FossilOrigin-Name: 252c0b7bf5a727d29605672bb58e06c758173c276671df3e388a68294998b4d3
2026-10-04 21:54:17 +00:00
stephan
8364e34cbd
Improve support for --with-tcl in cross-compilation environments, as discussed in [forum:fe9e99eb27c8c2ba|forum thread 2026-08-15T18:21:17Z].
...
FossilOrigin-Name: d4330c79a477bab7e86aba860813f4f83e9af5ef8067698fcdf41efd6a0e8516
2026-10-04 19:51:51 +00:00
stephan
e4e1b4a464
When using --with-tcl and friends during cross-compilation, emit a warning that tclConfig.sh will not be used. Addresses [forum:9771d82cd0cd7923|forum post 2026-10-04T17:25:09Z]. Normalize TCL to Tcl in nearby docs and help text because that's how tcl-lang.org types it.
...
FossilOrigin-Name: 41f095e34974da53170200719a069c0a30110e27a1db85f562bbe744a40e9a80
2026-10-04 19:47:43 +00:00
stephan
52a8a406eb
Merge trunk into this branch.
...
FossilOrigin-Name: 40d58aa98ded07621a4ee1300bc164b27c33879a28932b790ecdf118b23ba6ca
2026-10-04 18:24:04 +00:00
drh
e8cbe2c96a
In QRF, add the zero-pad flag to the default floating-point format in
...
output modes that render JSON or INSERT, so that infinities are shown
as 9e999 or similar instead of as "Inf".
[bugs:/info/2026-10-04T05:35:43Z|Bug 2026-10-04T05:35:43Z]
FossilOrigin-Name: f63139ba68bc7df770bbd3c26bcd760c479889fb45fa921e9e225e38c9e2044c
2026-10-04 16:23:01 +00:00
drh
cb0a13c7d1
Avoid truncation of a 64-bit value into 32-bits when it is the N
...
parameter to the geopoly_regular() function.
FossilOrigin-Name: 13d8921bcabc4a5a5295652d29982ae18cf0190299ee9e655c7e0f2b4d658de9
2026-10-04 15:41:24 +00:00