Commit Graph

31213 Commits

Author SHA1 Message Date
drh
4720c16223 Raise an error if any PATH argument to json_array_insert() is not the path
of an array element.  Add some test cases for json_array_insert().

FossilOrigin-Name: 96b7d2c60a3f8a9f9d69313bad599a3a5ad335cb382263e4254e2d20929d5e55
2026-01-17 19:01:37 +00:00
drh
6f3a679a7d Add new SQL function: json_array_insert(). Suggested in
[forum:/forumpost/2026-01-17T10:40:39z|forum thread 2026-01-17T10:40:39z].
This check-in seems to work, but contains no test cases.  Also, no error
is raised if the PATH does not reference an array.  Prototype only.

FossilOrigin-Name: d6c82c8248f8b1ce3d2c01a92e7d1058beac2b2ccac3b122a2cd385c77dc76df
2026-01-17 14:23:28 +00:00
dan
4b9def1903 Fix further problems with deleting from corrupt fts5 databases in secure-delete mode.
FossilOrigin-Name: f8f89d2e10f06b54acf58a3b0543aef749c3d2b65670d4cc71530dea7997651e
2026-01-16 20:04:04 +00:00
drh
9dff6ac96e Try to prevent false positives in fuzzinvariants.c due to scalar subqueries.
FossilOrigin-Name: c20be882a62e75abc50fd2dcae26ebbe83a01f09369525392fa22223627a04ea
2026-01-16 17:48:46 +00:00
drh
4dd1a202de The optimization at [8bdda827a3d26800] is incorrect for the case where one
of the two expressions has been commuted such that the collating sequence
has changed.  This check-in fixes the problem.  Problem reported by
[forum:/forumpost/2026-01-16T11:35:28Z|forum post 2026-01-16T11:35:28Z].

FossilOrigin-Name: 9d8fb7a9e23d5ef76d05824401976247debe51be6f658f132609257a068a73de
2026-01-16 15:53:20 +00:00
drh
cd8aee7946 Change the copyright on the tool/dbtotxt.c source code file to the
standard SQLite blessing.

FossilOrigin-Name: 766c89e009578aa5c1a92cbb2dcc34b3529cf4dd6157f07c84f08470d81942a9
2026-01-16 12:13:42 +00:00
dan
90942efd21 Fix an error in new test script fts5corrupt9.test.
FossilOrigin-Name: a5918835e172fd4eda6511d297b61368952d617eac33950b67368671e3bd40fe
2026-01-15 17:17:00 +00:00
dan
bcc496e526 Add extra test for handling corrupt delta records in rbu.
FossilOrigin-Name: 7dba05100fbef3614e6ee8eff39dab7a4713550e5672c2f6cf8f4b490a96aa25
artiphishell
2026-01-15 17:00:58 +00:00
dan
ce83fd80ad Fix a buffer overrun that could occur when deleting rows in secure-delete mode from a strategically corrupted fts5 database.
FossilOrigin-Name: 1e66d6e3276cc6aab4d002a1df13b044e61f3946322bf97cac06d98dbb68e433
2026-01-15 16:09:35 +00:00
drh
43eb1d4d22 Adjust the output of the fuzzcheck test program so that testrunner.tcl can
capture the number of tests run even when the --slice option is used.

FossilOrigin-Name: dddaeff4ce552f3aa57cc6e18ed35051138b591338242df5f3af39e24006a834
2026-01-14 19:22:36 +00:00
dan
abdfd3312a Update sessions module so that it takes the db mutex before, instead of just after, opening a savepoint when generating a changeset.
FossilOrigin-Name: 41bbd13d737d2b7879d906b6fa76df42c6ee142f1a7acdafd26da0063bc90baf
2026-01-14 17:52:27 +00:00
drh
e5fba7f094 Guard against oversized index entries in databases larger than 2GiB.
FossilOrigin-Name: ed17a878e5a2e0cd1e9b69d528f5ac2ba8452d7c83deaf3cc72ecbff054f5ca3
2026-01-14 13:43:32 +00:00
drh
35b9709d46 Fix integer overflow problems and error reporting memory leaks in
the zipfile extension.
[forum:/forumpost/2026-01-13T00:09:06Z|Forum post 2026-01-13T00:09:06Z].

FossilOrigin-Name: 8e656a483557bc5385219d560b9155c232e7dc9d62642249abc879fb37bacd2a
2026-01-13 02:35:19 +00:00
dan
4b12a38ffb Fix an OOB read in the sessions module that could occur while processing a corrupt changeset.
FossilOrigin-Name: 3c46295487f089a891f566cae43b67ce97794bb60645d5806285600e05eff456
2026-01-12 20:16:04 +00:00
drh
9a341c1edb Avoid unsigned integer overflow in the delta_apply() extension function.
Not part of any standard deliverable.  
[forum:/forumpost/d41879b367c7f7ec|Forum thread d41879b367c7f7ec].

FossilOrigin-Name: b354dd12c25c820c04b08e0be4ba8c095fc648dfb4b71345aacce50a17fd269a
2026-01-12 19:56:00 +00:00
dan
9f78d22870 Fix an infinite loop in the sessions module that could occur when processing a corrupt changeset blob.
FossilOrigin-Name: d98653bdbc9781970f1c5d66f69c81c93ad14549223ceae02e74c1b99ab05377
2026-01-12 19:13:09 +00:00
stephan
bc2101b44e wasm: filter the custom Module.instantiateWasm() out of node builds, per request from the npm project.
FossilOrigin-Name: b57a8215f4259a0aae188b7ee5060f8ff48919303179aae80b58b43ed3b991f5
2026-01-12 15:43:18 +00:00
drh
6444f694a6 Improved documentation (in the header comment) for tmstmpvfs.c.
FossilOrigin-Name: 70b1da718c176b8eb154fe087af4352eb6f55c9c0d1f09fc625d073d9f8075f4
2026-01-12 14:45:55 +00:00
stephan
a87d7c00f4 Add sqlite3_carray_bind() to sqlite3_api_routines. [forum:257e642a4c|Forum post 257e642a4c].
FossilOrigin-Name: 7c40dbcec8843f6189549a25dcfa8475f53212de8b0de81e10fd6687ef8fae9e
2026-01-11 21:18:23 +00:00
stephan
428c2656ff Add the @preserve tag to the standalone file sqlite3-opfs-async-proxy.js.
FossilOrigin-Name: 334b2be57e752672cfcaf764e3bc73e3d00a0a5174e8ef7c3d83c26136bccaf5
2026-01-11 16:21:32 +00:00
stephan
9ab2a2af1b wasm: add @preserve tags to two comment blocks (license header and build version info) so that the npm tools know to retain those comments when minifying.
FossilOrigin-Name: 596f1ea084e78843aa668d3a197690929848d474e55ff7b1444f78bd11f116b1
2026-01-11 14:14:16 +00:00
stephan
2f47a58c5d Update speedtest.md to point out xdg-open on Linux.
FossilOrigin-Name: 47c7fbcb46df5a657ec76dff9a370aea9e7d0d95406b1e124e9fe527cf85350d
2026-01-10 14:12:40 +00:00
stephan
644c42f3a4 Fix a help text typo in speedtest1.tcl, pointed out off-list by BrickViking.
FossilOrigin-Name: 1fd02a75a914f131948fe06fc99f851d3e226f9f1270e25393d79c493c28a347
2026-01-10 00:38:00 +00:00
stephan
aef151ada7 Add the 'npm' ext/wasm makefile target to create npm-bundle.zip for use by the downstream npm package. This target is intended to become their path for pulling npm-relevant deliverables, rather than the canonical downloads, and they have our/my commitment not to break it without involving them first.
FossilOrigin-Name: a4752c18a85bee0cef61ee5ac7911661c1894fb861412c957692069195a001a5
2026-01-09 19:44:31 +00:00
stephan
0ad6c6c440 Fix the wasm snapshot build's zipfile name to include '-snapshot' and correct the update-docs target for recent build refactoring.
FossilOrigin-Name: 0f53dbf06010f66ba23941ee4269d507efa370f1a8cc0099d274d8baadebdb46
2026-01-09 18:42:27 +00:00
drh
4b93124b6b Fix potential OOB read on the undocumented test function rtreenode() that
is part of the RTREE extension, as described in
[forum:/forumpost/2026-01-08T23:32:19Z|forum post 2026-01-08T23:32:19Z].
The problem is almost certainly harmless since any memory allocation will
be a multiple of 8 bytes, and once the input buffer size gets rounded up to
the next multiple of 8 bytes, the access will still be within bounds.
Nevertheless, it still needs to be fixed.

FossilOrigin-Name: 9adab8b2bef4130abd358d53384cb5f4dd691b808336bb7102793b0165b1c516
2026-01-09 00:41:35 +00:00
drh
1d49bbc25e Enhance VACUUM INTO so that if a URI filename is used as the target and that
filename as a reserve=N query parameter with N between 0 and 255, then the
reserve amount for the generated database copy is set to N.  This simplifies
making a copy of a database file with a reduced or reset reserve.

FossilOrigin-Name: a482f9836597de55a9b58fddd3ca2963b8c67ecefef1e34a8c079a2d76f287d0
2026-01-08 20:29:02 +00:00
drh
4b4d07253f In the reserve=N query parameter on the VACUUM INTO target file, the
parameter is a silent no-op if N is out of range.

FossilOrigin-Name: 48e59a27330932cf29bcbd01080757b82ea4a03f5a9e1fa7da076dbfcb7f60e3
2026-01-08 20:20:03 +00:00
drh
c34d561940 Change the name of the log file for tmstmpvfs.c to be an ISO8601 date/time,
for improved readability and situational awareness.

FossilOrigin-Name: 66018b85a92db2f3b6b15f7c5c0d54bac890f8e50a1839c08857507c39ec4af7
2026-01-08 18:55:49 +00:00
stephan
22c99e01ff Fix the sqlite3-worker1.mjs (ESM, non-bundler) build and have demo-worker1-promiser use that file rather than the vanilla one, as a test case. Delete the global symbol installed by that file in ESM and bundler builds, as it's unnecessary there. The first change should resolve [https://github.com/sqlite/sqlite-wasm/issues/123|downstream sqlite-wasm/issues/123], with thanks to Jure Rotar for his help.
FossilOrigin-Name: 11f5ab0dd8efc68112c3dc5ea0ed486c32bcdb9fde85352180f40a77c6354cac
2026-01-08 18:15:23 +00:00
drh
0a10cdb663 Merge all the latest trunk changes into the reset-reserve branch.
FossilOrigin-Name: 6e5f1fbaec775db5c5e90b29cfa0820c9f4d560b36c063b504ef55a6c3a65bdc
2026-01-08 18:14:29 +00:00
drh
5df3efe6f4 Fix an off-by-one error in the page number of ELOG_CKPT_PAGE log
messages in tmstmpvfs.c

FossilOrigin-Name: 6fafd010de2d9820f77ee6d2a5f0a7ab1260872d09e95b6932c959ef017aaa77
2026-01-08 17:52:42 +00:00
stephan
cc4a404048 Add a missing #if check for SQLITE_OMIT_LOAD_EXTENSION to shell.c.in, trigged by the fiddle build.
FossilOrigin-Name: 1091f3371f4af75344c2e6da26656c259fa96c8a8da9acde3db79df8aa95fd0a
2026-01-08 15:26:19 +00:00
drh
403c153dfa Minor bug fixes in tmstmpvfs.c, showdb.c, and showtmlog.c.
FossilOrigin-Name: 1fee8265f7eab649ee8b28456c37d95198f5cde54e905154e3eccc0b328ece9a
2026-01-08 15:25:04 +00:00
stephan
784bceae33 Remove an obsolete '32-bit' label from tester1-worker.
FossilOrigin-Name: e14d9a980351a8d5e935e6991ea02a1c40c9ea8f0ad0fadcabe07d575a9b289c
2026-01-08 15:06:28 +00:00
stephan
92730d21ff Fix the --size X flag for speedtest1.html when X=0 and force the job size to 5 for kvvfs so that it doesn't block the main thread for too awful long.
FossilOrigin-Name: e2634e500cce44650ad5dd95b722b993b1f999b9f8b2396ab15154e67cb065c7
2026-01-08 15:03:00 +00:00
drh
22b08034aa Enhance the --vfs command-line option to the CLI such that if the argument
is not a valid VFS name, but is the name of a file, attempt to load that
file as an extension, which presumably adds the desired VFS.

FossilOrigin-Name: 509954b44eb305a4401ddcbcce24d8f9ed5534717290888899d716b9df40c981
2026-01-08 13:43:15 +00:00
drh
c219d3002f In the showdb utility, the -tmstmp option works without -csv for the pgidx
command.

FossilOrigin-Name: c0aecd2189b431d82eca1c1d6718920cf928d910d443ea506e7b3bf3c5d7e246
2026-01-08 13:20:36 +00:00
stephan
9f9ee82b62 Fix ESCALE typo in shell.c, reported in [forum:b8f6a41c8b|forum post b8f6a41c8b].
FossilOrigin-Name: 6fa09449738af03d096208e26447b795f2825d6aaa397de09590cf18b065f82d
2026-01-08 12:43:21 +00:00
drh
67429703bf Do not show LIKE wildcards on table names in the output of the ".schema"
command in the CLI.
[forum:/info/6ebb57b41691293d|Forum post 6ebb57b41691293d].

FossilOrigin-Name: 4c6f646bd2910e6dc80dfec7546a3ed7b47bb9d00402e7c3871ece2c185f4ec0
2026-01-08 12:39:49 +00:00
drh
c0420cd8e4 Add the showtmlog utility for decoding the tmstmpvfs log files.
Fix tmstmpvfs so that it records timestamps in milliseconds since the
Unix epoch, not in JDN milliseconds.

FossilOrigin-Name: 762d3cbf06218f1010425a98a71ebf7623b84b45a90e6419b7dec7f10ad0c5a5
2026-01-08 12:22:50 +00:00
drh
e46b51e234 Improve showdb so that it does a better job of handling reserve-bytes.
Add the --tmstmp option that causes pgidx to interpret tmstmpvfs tags
if they are available.

FossilOrigin-Name: d7e6e9a5781f467a5b5f02f46134099cf01607a0cf55510155533d57d4a4618a
2026-01-08 01:37:13 +00:00
drh
8a2be4b739 Add the tmstmpvfs.c extension to trunk. It is not a part of any deliverable
and can easily be removed later, if found to not be desirable.

FossilOrigin-Name: 869f306592a86d2a78f00266c615f033cd2318a7bff0a97b3dcdd3348d99fc66
2026-01-08 00:41:12 +00:00
drh
ad4b08dcab Add the --csv option to the "pgidx" option to the "showdb" utility.
FossilOrigin-Name: b6ad93f62eb883ee8f4c43dd90c69b31398be6b13186866a7b05d85fe588d967
2026-01-07 23:46:44 +00:00
drh
bba40a9c9b Enhance the VACUUM INTO command such that if the target file is a URI
with a reserve=N query parameter, then the reserve_bytes value is set to
N provided that N is within the allowed range.  This can even reduce the
size of the reserve, all the way to zero.  This provides a way to remove
reserve from a database without having to do a complete dump/restore.

FossilOrigin-Name: 9cec3b67d95c145c968c560e8b3d2c33896b4b5b6c86c61350263764bb616c43
2026-01-07 21:19:42 +00:00
drh
ef5d9952eb Fix the static build.
FossilOrigin-Name: 4e1a1b6aeffaa5b8c11e165803c6d33becabd1f646f39e4309dfba6892fd4bd6
2026-01-07 19:06:11 +00:00
drh
0b5f8766fd Improvements to logging. Better log-file names. Log files are in a
subdirectory named after the database.  Only connections that write to
the database create logs.  Better documentation in the header comment.

FossilOrigin-Name: 5b1cf0fe73ba1a40fe4cd8f5f6e8ee5b471f96b60aff52c03c045ad6514c363a
2026-01-07 18:45:23 +00:00
drh
03c0ac435e Enhance QRF so that it terminates more quickly if it encounters an OOM
or oversize string error, and fix it so that it reports such errors.

FossilOrigin-Name: ebedeb6169cc3bc3708130d4061065af600a8851e896fc3eeaf33c8c83fe3b95
2026-01-07 16:19:18 +00:00
drh
242a9347f8 Add the -p or --port option to sqlite3_rsync.
FossilOrigin-Name: 53f806fdab7161e439a165af47bd45332c15233b87bc35c2272621256a2dc337
2026-01-06 21:39:12 +00:00
drh
8fe0385661 Documentation tweaks.
FossilOrigin-Name: b10b0aa7658a04b9354ca09a2dcb807eecd9421451537f3230ba5f47269ec5c1
2026-01-06 21:18:42 +00:00