drh
005a5862a5
Experimental fix to [bugs:/info/2026-10-25T19:26:00Z|Bug 2026-10-25T19:26:00Z]
...
FossilOrigin-Name: efdff276d2c19f77be5b5b600084996126ec2ae3e2a7ed91f2e7d7e1916043ba
2026-10-26 01:20:04 +00:00
drh
1820defd76
Merge all recent branch-3.54 fixes into trunk
...
FossilOrigin-Name: 4fee54f1d687c2e2b4a760c59d1d29fceb81623494cf65b72c309f4922dc0a7e
2026-10-25 22:40:37 +00:00
drh
221ff059c3
Prevent a NULL pointer dereference in dbdump after an OOM
...
FossilOrigin-Name: 53da8bd2c32db0b8d744d9660737eec1a18adec67329e4bcfcfbe1827cc4381d
2026-10-25 22:12:07 +00:00
drh
8e72095ca8
Fix the sqlite3_db_dump() interface to the dbdump.c extension so that
...
it works even on an empty database with PRAGMA empty_result_callbacks
engaged.
FossilOrigin-Name: 8026e49181e8596750b89191c0d7eb6da3a34bc1976d573cc9fc826f054642ef
2026-10-25 22:05:29 +00:00
drh
8f72f50e27
Make sure memory allocations do not overflow in spellfix on i386 and similar
...
32-bit platforms.
FossilOrigin-Name: 65c545ab8d370ae6b288b985c1c8396b4f48ac360fbe799b446cbdb8852f3872
2026-10-25 22:00:07 +00:00
drh
f99a038a08
Avoid an integer overflow in the spellfix extension when setting
...
a ridiculous values for the top= parameter.
FossilOrigin-Name: 3dfc7fa4c29741f530511ec9e5da4fd1b446cb2310ec00fb5c1b49124cd846d0
2026-10-25 21:51:58 +00:00
drh
50586b61d8
Use the new sqlite3_result_str() function to implement SQL functions
...
geopoly_json() and geopoly_svg() as part of the geopoly extension.
FossilOrigin-Name: 4fbce3be94ccdd4dea79db277b3097d2f2c0e995a05d6345c24988ad949e2f9f
2026-10-25 20:42:16 +00:00
drh
4546f13d17
Increase the size of the Fts3Table.nPendingData field to 64 bits to
...
avoid any chance of ridiculous inputs causing a signed integer overflow.
FossilOrigin-Name: 56f261a67626a26d509e9c5221cfae18320e2b8654ae700adedb204191673406
2026-10-25 20:29:47 +00:00
drh
3ba6a65bbb
Fix another problem with OS_VXWORKS
...
FossilOrigin-Name: 5eb1662fbb3af945017821094522cf05dd30df3e7b5e780a96e627c5549a5ce0
2026-10-25 20:15:12 +00:00
drh
5a7949b088
Avoid a small memory leak that might occurs if SQLite is compiled using
...
-DOS_VXWORKS=1 and a call to sem_open() in the unix-namedsem VFS fails.
FossilOrigin-Name: f0a3729e3835cf27f8ffc0b40239ec722eb0f97543ae3a6026ec2e64baf6cb54
2026-10-25 19:29:06 +00:00
drh
e5672e209e
Better detection of database corruption in the clearCellOverflow() routine.
...
FossilOrigin-Name: b6c072240dfe4f5d075b1b505c98281f830579f48ff939cdb6e054bfb179efa3
2026-10-25 18:43:18 +00:00
drh
d16e78b4fb
Fix two instances in test cases where there is an attempt to delete
...
a file that is still open, which does not work on windows.
FossilOrigin-Name: c6e22bceae0e2ba57c739d6349f07da2bb27e115131e4d867163e5a8958a78c9
2026-10-25 18:13:16 +00:00
drh
862625c9ae
Use a 64-bit integer to measure expression chain size in
...
dupedExprSize(), in case of crazy expressions.
FossilOrigin-Name: ed78f5d2bf2042332637edf541c1295f5f5ca7b1cbb4f647492d3f2221afc781
2026-10-25 17:45:41 +00:00
drh
42c9401de2
Use a new typedef "tSerial" to determine the datatype for serial-type
...
value. It is 32 bits for reasonable SQLITE_MAX_LENGTH but can be
64 bits if necessary.
FossilOrigin-Name: 8435c6f0b1ac3025f5af5da2a0f03898142c506e5981d55a2b633e611dcecb8f
2026-10-25 17:38:36 +00:00
stephan
cc3cf98eec
Reorder a sequence point violation. [bugs:d82d144d71|Bug report 2026-10-25T16:05:55Z].
...
FossilOrigin-Name: 78ad029d8fdcc1f52bb7c761ee7b7b5c02d3dd616b441a76421aed3fa7a91e01
2026-10-25 16:57:25 +00:00
drh
834c87f539
Increase the size of unixShmNode.nRegion to 32 bits to avoid the possibility
...
of integer overflow.
FossilOrigin-Name: 033b603cedb4ea246373d4015b4873b8ea1eb523c8f60d9f842cdea25dc97210
2026-10-25 16:54:02 +00:00
drh
732a2f0d97
Teach SQLite's internal sqlite3AtoF() routine to understand "Inf"
...
and in so doing fix
[bugs:/info/2026-10-22T05:11:21Z|Bug 2026-10-22T05:11:21Z].
FossilOrigin-Name: 8b1fa7497fef8e4bd36dc4614dbb33bc78f34b11300de0caff92a7da0d35a63e
2026-10-25 15:59:53 +00:00
drh
2d9389c494
Merge the improved .recover OOB write fix from branch-3.54
...
FossilOrigin-Name: 5c07d633cae924c1ef9a4165e9684e31c29738a49ddb3b024a0e1ab427957686
2026-10-25 13:52:08 +00:00
drh
45c3d6e297
An even better fix to the same problem as the previous two check-ins.
...
FossilOrigin-Name: 8f694d2a7de472eff8b3f6018085e03f8a1b68e6307e386e069c72b8af1b1f45
2026-10-25 13:46:07 +00:00
drh
7dcbdfa671
A better fix for the recover OOB write problem of the [37963c3869640f98]
...
FossilOrigin-Name: fbe2d9fb82582c06d6f2b137270a085b76d415d551a704db7ab517207cf129bb
2026-10-25 13:36:36 +00:00
drh
4012bdca5f
Merge recent branch-3.54 fixes into trunk.
...
FossilOrigin-Name: 00a52a3da142ae3104dc3241c377276ccae3a04df57c629c2ad47b626a3c4fa0
2026-10-25 13:29:09 +00:00
drh
427b538f72
Fix a possible OOB write in the recover extension given a corrupt
...
schema. [bugs:/info/2026-10-25T12:08:19Z|Bug 2026-10-25T12:08:19Z].
FossilOrigin-Name: 37963c3869640f9857dd4edf5e26fdca336ec71d8b1cf188507cab5fad91f681
2026-10-25 13:07:54 +00:00
drh
c1ee4b4c88
Fix a bug in the whereOrInsert() routine of the query planner that caused
...
a sub-optimal query plan to be selected.
[bugs:/info/2026-10-24T05:24:02Z|Bug 2026-10-24T05:24:02Z]
The speedtest1.c program is updated to include the test case.
FossilOrigin-Name: acda734dc86a46636b9ea274b887f1587b762263cc7d1767cb43124bae4eaa00
2026-10-25 12:39:29 +00:00
drh
fb58600a8f
The test case for this bug exercises code paths through the query planner
...
and bytecode engine that are not otherwise followed in performance testing,
so it seems reasonable to add the test case to speedtest1.c.
FossilOrigin-Name: eff049863816827f66b63e9e160acff3ca26be600a97aae01ceaadab519072bd
2026-10-25 12:30:45 +00:00
drh
f282a6d222
Fix performance problem according to
...
[bugs:/info/2026-10-25T01:57:04Z|bugs-forum reply 2026-10-25T01:57:04Z].
FossilOrigin-Name: 040d465c8a036c2f2f2d15579d9977b9ddbb35d29124c33932fe03f60b2a9d3f
2026-10-25 11:23:19 +00:00
drh
9626d89e02
Rework the classic seconds-only sleep computations in [458351f9725a423b]
...
to avoid any chance of integer overflow.
FossilOrigin-Name: d08cabd778f7844d04f3852d93197e80c0d0f4f30a589f7fd0d28577fa3fa68b
2026-10-24 22:25:07 +00:00
dan
6de9972df6
Fix an fts5 problem causing auxiliary functions to see an incorrect list of matches in some cases when the query contains a NEAR expression. Report [bugs:/info/2026-10-22T16:41:04Z | 2026-10-22T16:41:04Z].
...
FossilOrigin-Name: fcddc5ab9ab46852de1500430e16e04739341266651703a868138d666ca45cd6
2026-10-24 19:50:13 +00:00
dan
01f9950f87
Fix some cases where the list of matches made available to auxilary fts5 functions was not correct. Report [bugs:/info/2026-10-23T02:22:13Z | 2026-10-23T02:22:13Z].
...
FossilOrigin-Name: 16ba33e6dffaf830f40cb13c1357dea33abf6de233e22e15f2caed42ee8ffe7f
2026-10-24 19:30:11 +00:00
drh
d246ad4b9c
The recover extension no longer drops the last column of a table with a
...
generated column, and other fixes.
[bugs:/info/2026-10-20T02:56:33Z|Bug 2026-10-20T02:56:33Z]
FossilOrigin-Name: 0ce909f57ad48cd1387785c7931a355954f4162396f19d364c5015095d91ef2f
2026-10-24 18:56:00 +00:00
dan
e7dfb3cae9
Make the fts5_vocab virtual table WITHOUT ROWID, so that RIGHT JOIN and OR queries work properly with it. Report [bugs:/info/2026-10-23T03:07:25Z | 2026-10-23T03:07:25Z].
...
FossilOrigin-Name: 25d3a17413eed51c9fcb534374c9aca1bef5a3e72ab0680e5b46c8d9f4429b1e
2026-10-24 18:26:57 +00:00
drh
0a4a0aab8c
Pages that fail the cell-size-check should be marked as uninitialized so
...
they are not reused without being checked again.
[bugs:/info/2026-10-24T05:20:01Z|Bug 2026-10-24T05:20:01Z]
FossilOrigin-Name: 0f540888bc7c62a44078bd0f1c1f98ed22624608384562e4b8b619382fe15631
2026-10-24 18:13:36 +00:00
drh
3e6bbeaeca
This is the change suggested by
...
[bugs:/info/2026-10-24T05:24:02Z|Bug 2026-10-24T05:24:02Z].
But it makes SQLite run slower, at least on the speedtest1.c benchmark.
Need to investigate further.
FossilOrigin-Name: 1d40327bcf2db8ea63d872f4c2f0b9941cb27a4ea63edeee8268b20f0eaffd4e
2026-10-24 17:25:21 +00:00
drh
30be364a7c
Always report back the output flags from the xOpen method of the unix VFS.
...
[bugs:/info/2026-10-24T04:49:19Z|Bug 2026-10-24T04:49:19Z]
FossilOrigin-Name: 7bd441063bd8d9681aac38f0951108f9d6b814a3e192a9f7f5ffe4c95103317a
2026-10-24 17:08:39 +00:00
drh
f565c8efc4
Fix various minor problems in the CLI.
...
[bugs:/info/2026-10-24T04:43:44Z|Bug 2026-10-24T04:43:44Z]
FossilOrigin-Name: a7fd475c0d34d84232e721c724ccbc07729f594ab20aba9eb0631cf76a09ce23
2026-10-24 16:49:09 +00:00
drh
642b2ff342
Upate AGENTS.md to encourage robots to generate PoC scripts that run in
...
the CLI.
FossilOrigin-Name: d91738256e5bb7cacbf5f9f24a345a980d7d89a2b367286ab4d819e2dd61a5f8
2026-10-24 16:40:49 +00:00
dan
c985864f08
Have vec1 check the vector size field is within range when loading a configuration. Report [bugs:/info/2026-10-24T09:06:20Z | 2026-10-24T09:06:20Z].
...
FossilOrigin-Name: d3325353c8326ba92f03b3bdd46dc4522cd7eb3da670adb073bb060927be58c6
2026-10-24 16:35:32 +00:00
dan
fd277ecc04
Enforce the upper limit on vector size in vec1_train() as well as in the vec1 virtual table. This fixes integer overflow report [bugs:/info/2026-10-23T11:24:33Z | 2026-10-23T11:24:33Z].
...
FossilOrigin-Name: 25a81a8650505b08597947ec58ad6591ca62af4b40a92a910347ac61053865f7
2026-10-24 16:18:44 +00:00
drh
c6536c6e60
For the "relaxed" quoting mode of QRF, tighten the restrictions on what
...
must be quoted to help prevent strings that actually look like numbers
from going unquoted.
[bugs:/info/2026-10-24T04:41:27Z|Bug 2026-10-24T04:41:27Z]
FossilOrigin-Name: 7c8c79a443e025f32035ec91d8c32e032996f1b798444b5b1b5ce98d759f1338
2026-10-24 15:10:50 +00:00
drh
9410bfb946
Use 64-bit math to avoid integer overflow in unixSleep() on the rare
...
systems that lack both usleep() and nanosleep().
[bugs:/info/2026-10-24T09:43:25Z|Bug 2026-10-24T09:43:25Z]
FossilOrigin-Name: 458351f9725a423bba4672b83c3f1fd446de2559f416b3877514a0ccb8d4df0e
2026-10-24 14:54:49 +00:00
dan
98fced6200
Change the order of fields in an internal structure to avoid the possibility of leaking heap address information when a corrupt database is queried.
...
FossilOrigin-Name: 3f9a0ba4f4dffac7a4b9de30e66d94498a1433d96e327cfff43134b8856f4ba1
2026-10-24 14:37:18 +00:00
dan
31b1a10a9c
Change the order of fields in an internal structure to avoid the possibility of leaking heap address information when a corrupt database is queried.
...
FossilOrigin-Name: a5261fd58070d4cb10c627e54491ed7588d96f47073b19612aa669f684e8e5b5
2026-10-24 14:29:45 +00:00
drh
342d4527d3
New CLI commands: .if, .elseif, .else, and .endif. New CLI function:
...
capable(X).
FossilOrigin-Name: 7ba9c1f65fd2ed16570110decfc4ee28a0deeff20ec09c749acd188d27892e69
2026-10-24 14:05:21 +00:00
drh
32d4ecb572
Improvement to testing using the new CLI commands.
...
FossilOrigin-Name: 1209b11fda9649891b28add70a6503eeb7b9645c01a76e750703cec0297fb5dd
2026-10-24 13:57:04 +00:00
drh
0e3a71c327
Further improvements and bug fixes to .if. Add the if.sql test script.
...
FossilOrigin-Name: 8d352db18c50870df83af8ffd2fa2858264cebf2f67674fe1356bcef5bc80a2f
2026-10-24 12:34:08 +00:00
drh
2e1dd36d03
Enhancements and bug fixes to .if. Added a heredoc option to .read for
...
testing purposes.
FossilOrigin-Name: 680551e7130467ed7f924c8b0c0cb32519d229e463183b72a9eeeff5f1101ac3
2026-10-24 11:59:08 +00:00
drh
c14245073f
Add the "capable(X)" function to the CLI, with the idea of using it
...
for things like ".if capable('fts5')".
FossilOrigin-Name: cdef947cd078b117725b1592e13897d010182ad20220dba00a3f293c42b451fd
2026-10-24 08:19:30 +00:00
drh
8ac6750d71
Initial prototype implementation of ".if", ".elseif", ".else" and
...
".endif" for the CLI.
FossilOrigin-Name: 52f352565670b76425dea3a575b52a9d9465b732e8a6d794f97588a178361e92
2026-10-24 03:27:17 +00:00
drh
598d9cf776
Fix a test case for geopoly that should have been inside of
...
"ifcapable geopoly".
FossilOrigin-Name: 0172c575ef99bc2b50bf4ff5588e180915f9fb7f8f6ad5d1582725652f72fba5
2026-10-24 01:23:56 +00:00
drh
19e832b3b3
Merge WAL race condition fixes from branch-3.54
...
FossilOrigin-Name: 6322b44f1389028fb64cdc1a644b45884b111fcc638ced02a981070af2860426
2026-10-24 00:40:15 +00:00
drh
f879fb18cd
FTS5: INSERT into a locale=1, contentless_unindexed=1 table with an UNINDEXED
...
column now works.
[bugs:/info/2026-10-21T02:49:37Z|Bug 2026-10-21T02:49:37Z]
FossilOrigin-Name: 055f90829c4094f9c78d95ce05662b9443c325cb16af50beabf56e7f8b72b9bf
2026-10-23 18:39:36 +00:00