]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Thu, 30 Oct 2025 15:43:57 +0000 (15:43 +0000)]
drh [Thu, 30 Oct 2025 11:39:49 +0000 (11:39 +0000)]
Fix the CLI ".dump" command so that it does not make duplicate
sqlite_sequence table entries as described in
[forum:/forumpost/
b1674b56ad |forum thread
b1674b56ad ].
FossilOrigin-Name:
c833f26a6780f919551e50c67d308e96293cec8481899354411d805617481f24
drh [Thu, 30 Oct 2025 10:36:10 +0000 (10:36 +0000)]
Prevent a harmless signed integer overflow in the CLI if the argument
to the --skip option of the ".inport" command is -
9223372036854775808 .
FossilOrigin-Name:
247277d9373cb2614a1bc4c1e08b904315e5e8c0c2a7fbe9c2ac651481601642
stephan [Thu, 30 Oct 2025 01:43:30 +0000 (01:43 +0000)]
Remove an OMIT_WAL from the wasm build because it breaks with the current amalgamation (and isn't strictly needed here anyway).
FossilOrigin-Name:
a7be7d155aa6f02075f939ab6d26cfdfe2d0832b59da39c8bf4a74fc4845bd05
drh [Wed, 29 Oct 2025 20:47:01 +0000 (20:47 +0000)]
Fix a logic error introduced by [
cea8bf79e18d55a8 ] which caused
"0 OR 2" to be evaluated as "2" instead of as "1". Problem reported at
[forum:/forumpost/
d5f32040c5d50d2d |forum post
d5f32040c ].
FossilOrigin-Name:
095cc4f22e63c98cbb2acabdbcaf02e59e67ec6d3cc219b5f42a714e3d53a264
stephan [Tue, 28 Oct 2025 22:09:43 +0000 (22:09 +0000)]
Tiny cosmetic tweak to configure script output. No functional changes.
FossilOrigin-Name:
e2c20aa5929e5b79aabca8a51fb3e32e0533526d64d7576d3caf1c847fff58b4
stephan [Tue, 28 Oct 2025 19:57:15 +0000 (19:57 +0000)]
drh [Tue, 28 Oct 2025 13:24:50 +0000 (13:24 +0000)]
Fix an signed integer overflow problem that can occur when using an oversize
value for the SQLITE_MAX_LENGTH compile-time option together with
multi-gigabyte operands to the OP_Concat operator.
FossilOrigin-Name:
724f2299f206cc9e7f830f984c50a8fc4ac1c17210d71d9affe657b45252b060
drh [Tue, 28 Oct 2025 10:50:55 +0000 (10:50 +0000)]
Add enhanced resistance to corruption after posix advisory locks on the
database file been unintentionally broken on unix by running
close(open(DBFILE)) from a separate thread.
FossilOrigin-Name:
6385a1962c69c69ca4775888f034a4eb892aa013689c000f3de6422da7c3c695
drh [Tue, 28 Oct 2025 10:44:26 +0000 (10:44 +0000)]
Enhance the CLI so that it can handle inputs larger than 2 billion lines.
FossilOrigin-Name:
5daebf2d6013e73d89c9feb796e15b67c39577e5a9e9c86fa260995f4118f04b
drh [Tue, 28 Oct 2025 01:28:20 +0000 (01:28 +0000)]
Additional comments explaining what unixIsSharingShmNode() does. No
changes to code.
FossilOrigin-Name:
819fc87385fd5be8a847492478f4c4f247f64edf7c7161b641bfbac6b658bec5
drh [Mon, 27 Oct 2025 23:57:57 +0000 (23:57 +0000)]
Omit unnecessary branches from the unixIsSharingShmNode() implementation.
FossilOrigin-Name:
2d5623bc27073c407ec63e401f095d12f0025dd276a0bdc26d8b94b1f13c9a36
drh [Mon, 27 Oct 2025 15:44:16 +0000 (15:44 +0000)]
The unixIsSharingShmNode() function should always return false for the
unix-excl VFS.
FossilOrigin-Name:
770f35dae47a98554b18f8a7aa9f6b6e39ae2b3aa8dce8d75b5bed0c6f0f9c21
drh [Mon, 27 Oct 2025 14:24:02 +0000 (14:24 +0000)]
Implement an experimental defensive measure to try to prevent the -wal and
-shm files of an active WAL-mode database connection from being deleted out
from under the database connection in the case where the database SHARED
lock has been released by an accidental call to close() in a different
thread, or similar.
FossilOrigin-Name:
ed1b9206640f66cb8abff444809ccab8a4a5157b5c90e9aacddc422210e63423
dan [Mon, 27 Oct 2025 11:39:07 +0000 (11:39 +0000)]
Fix a minor over-allocation of heap memory in wal.c.
FossilOrigin-Name:
1803cb9bb6a13fb66956f729066b6eae64c3a1c0715102fb1a9994e395c12ba9
dan [Mon, 27 Oct 2025 11:20:47 +0000 (11:20 +0000)]
Fix sanitizer complaints in the regexp extension.
FossilOrigin-Name:
6ff9ecb89d769bc2a27f8a57130f28ec7478979d3e35ba765c16017b5bdf775d
stephan [Sun, 26 Oct 2025 21:58:41 +0000 (21:58 +0000)]
Merge the OPFS/SEE tests into trunk (where they should have been committed).
FossilOrigin-Name:
f8a4d7abf0d1c9c92fa102165d08aed76fd766d49615e3d347b5547580355574
stephan [Sun, 26 Oct 2025 18:36:57 +0000 (18:36 +0000)]
stephan [Sun, 26 Oct 2025 17:59:30 +0000 (17:59 +0000)]
c-pp-lite: Fix another newline-related off-by-one which could cause newlines to get lost in @token@ filtering. Problem found in out-of-tree testing.
FossilOrigin-Name:
1c80ff88c0ce3d1c168c9bda734cf52114c35efdcf46a6da78f0ed9adc794eb8
stephan [Sun, 26 Oct 2025 12:34:13 +0000 (12:34 +0000)]
Doc typo fix reported in the forum. No code changes.
FossilOrigin-Name:
6e065b6aa099f31493cfea22a729f92bb312147d8584f663fb75630a25772e43
drh [Sat, 25 Oct 2025 22:22:58 +0000 (22:22 +0000)]
Add the SQLITE_FCNTL_FILESTAT file control and the sqlite_filestat() SQL
function.
FossilOrigin-Name:
9870afcb2a360dff83e211009710bc85db238d9a6993afcc1eb38ca7699fb4a5
drh [Sat, 25 Oct 2025 20:46:09 +0000 (20:46 +0000)]
Rename the file control to SQLITE_FCNTL_FILESTAT. Rename the SQL function
to sqlite_filestat(). Rename the enable macro to SQLITE_ENABLE_FILESTAT.
FossilOrigin-Name:
ee797fec4eeace78caa2c5e463108bf1a6568db7c33d94d9fe6624cfc6b0d4fe
drh [Sat, 25 Oct 2025 19:51:16 +0000 (19:51 +0000)]
Fix a bug in sqlite_file_info() output: It was showing the "pal" for
the main file descriptor when traversing other unused file descriptors
for the same inode.
FossilOrigin-Name:
3c4020d76e29c39483f6b92857ea470245afcd514870c63bd3373e0e213cd355
drh [Sat, 25 Oct 2025 19:36:12 +0000 (19:36 +0000)]
New --normal option for the ".open" command in the CLI. Also, when opening
the database for deduceDatabaseType(), use the same open-flags that will
be used subsequently for the official open, to avoid creating unusable
file descriptors that need to be held until all database instances close.
FossilOrigin-Name:
5e20a0435b1bd84d90c9a419219afe794fdf8ea73213f4c7ae5612c0375bed55
drh [Sat, 25 Oct 2025 19:26:16 +0000 (19:26 +0000)]
Add additional information about unix file descriptors to the same database file
in the sqlite_file_info() output.
FossilOrigin-Name:
64045f0a4d71ef068d64f2f25799cf1ae79c3cdb94039c73f1066290e3dbc943
drh [Sat, 25 Oct 2025 18:40:18 +0000 (18:40 +0000)]
Adjust unixPosixAdvisorLocks() to use redirectable system calls so that
it can be tested.
FossilOrigin-Name:
eafe88b782875cd839fc27da509830e3e1d95781c686e27242a2844910203a42
drh [Sat, 25 Oct 2025 18:36:14 +0000 (18:36 +0000)]
Merge the CLI deduceDatabaseType fix from trunk.
FossilOrigin-Name:
82f907016ee75ca288d8ac0664d5c147fbfad42c5f8222211acc3220bd0eb609
drh [Sat, 25 Oct 2025 18:35:29 +0000 (18:35 +0000)]
Fix the CLI so that it does not try to open what might be an SQLite
database using open() in the deduceDatabaseType() routine, as this can
lead to broken posix advisory locks.
FossilOrigin-Name:
2a3a02715fa53673531575fa13aee056711139b409367cccc18654e82720c4e6
drh [Sat, 25 Oct 2025 14:06:36 +0000 (14:06 +0000)]
Additional information about the unixShm shown.
FossilOrigin-Name:
85846c7fbeeaf5fccfcbe11a4b87c4ee49781456ccb4da1d090b7823d7b456d6
drh [Sat, 25 Oct 2025 13:55:49 +0000 (13:55 +0000)]
Do not attempt to show posix-advisory-locking status on journal files.
FossilOrigin-Name:
7f8baf64bb722d7dfdfca22d4f11a72113d5ed2b36d6cc6020fb0acf8185b3e7
drh [Sat, 25 Oct 2025 13:16:41 +0000 (13:16 +0000)]
The sqlite_file_info() function should always return JSON, unless there
is an OOM.
FossilOrigin-Name:
65aed79c29bf1aac0934475c02b358b916f413b20d2475ec7b631011f21f4e2b
drh [Sat, 25 Oct 2025 12:53:03 +0000 (12:53 +0000)]
New symbolic representation of posix advisory locking information
FossilOrigin-Name:
b7d991ae04da1d6731b67fbdca65df996ec1c14a9530880fb7dbeeaef2575d14
drh [Sat, 25 Oct 2025 11:47:04 +0000 (11:47 +0000)]
Merge trunk enhancements into the file-info branch.
FossilOrigin-Name:
73e1e081e9f7fc0ece98222669d13abde16197f0befc3343246a9e7da7856f02
drh [Sat, 25 Oct 2025 11:37:54 +0000 (11:37 +0000)]
Stricter assert() statements on unixShmSystemLock().
FossilOrigin-Name:
ed01ed337c04cce4cdbb6e80628b6f716d537e072b80067bd2bd6c5d18a1454f
drh [Fri, 24 Oct 2025 23:12:33 +0000 (23:12 +0000)]
Improvements to the design of the /proc lock analysis.
FossilOrigin-Name:
f2809dd3b266c0a6a6eb4ed62812a907493fb4006d26f8905df7ff2b1ca01a5e
stephan [Fri, 24 Oct 2025 20:29:12 +0000 (20:29 +0000)]
Make it particularly clear in the wasm build output that unsupported builds are exactly that. Cosmetic tweak only, no functional changes.
FossilOrigin-Name:
86f53a2eb37d8ec98bc9d4c6b00253cc00d798e79c7d409e65d608354a556e19
drh [Fri, 24 Oct 2025 20:26:13 +0000 (20:26 +0000)]
drh [Fri, 24 Oct 2025 20:04:16 +0000 (20:04 +0000)]
Flesh out the sqlite_file_info() function further, and in particular
show locks based in /proc/PID/fdinfo/FD, when that information is
available.
FossilOrigin-Name:
ce75111cced8a03f05cf47ef809b9f017f2dac3c64c6008d595f28dbfec32057
drh [Fri, 24 Oct 2025 17:42:03 +0000 (17:42 +0000)]
New diagnostic SQL function "sqlite_file_info()" and its associated
file-control SQLITE_FCNTL_GET_INFO.
FossilOrigin-Name:
56ab9692583d5b64e1ab727e08a01c0a65b4e318b455c94397663ef8d3d7b6b8
stephan [Fri, 24 Oct 2025 17:16:00 +0000 (17:16 +0000)]
Fix a duplicate SQLITE_API on sqlite3_carray_bind(), as reported in [forum:
7499e8a19edc8908 |forum post
7499e8a19e ].
FossilOrigin-Name:
62917cd4297e734477d3201481548ddb7f79ec977b9da7d9313bc7f1c0091187
stephan [Fri, 24 Oct 2025 16:39:58 +0000 (16:39 +0000)]
ext/wasm: dependencies fix for parallel builds attempted immediately after a distclean. Add version-info to the distclean rules.
FossilOrigin-Name:
b99233fe3d901714c4369ba25c510050fb7a8a85c1168780108595e9639a6d15
stephan [Fri, 24 Oct 2025 16:25:23 +0000 (16:25 +0000)]
ext/wasm/GNUmakefile: (A) When using a custom sqlite3.c, use sqlite3.h from the same directory instead of the top of this tree. (B) Re-add preprocessor flags for SEE which were misplaced during recent build refactoring.
FossilOrigin-Name:
1b1e530a9149ce62d3d53f5c558e358d4e6d1b00e0cce8bb04cb6b13d1841538
drh [Fri, 24 Oct 2025 16:01:55 +0000 (16:01 +0000)]
stephan [Fri, 24 Oct 2025 15:18:13 +0000 (15:18 +0000)]
Document minor discrepancies in how sqlite3_bind_pointer() and sqlite3_carray_bind() react to the SQLITE_TRANSIENT and SQLITE_STATIC finalizers.
FossilOrigin-Name:
b92478c389a9ff57302c021444ced09aef067ab55394dcda38cde97a3f2628d4
stephan [Fri, 24 Oct 2025 14:30:42 +0000 (14:30 +0000)]
Make explicit that sqlite3_bind_pointer() and sqlite3_carray_bind() call the provided destructor even if those routines fail, per [forum:
6d81b10952 |forum feedback].
FossilOrigin-Name:
1fcb0b60798c708fec53d9d69a65cca2e37a9af7a5fa654c7b2bba97056cd461
drh [Fri, 24 Oct 2025 13:23:43 +0000 (13:23 +0000)]
Update the MSVC makefile for the amalgamation distribution.
FossilOrigin-Name:
440ce1cff2b7519912fec87f440894592e901d730bf74cf99479e7b1d047bf02
drh [Fri, 24 Oct 2025 13:18:31 +0000 (13:18 +0000)]
Enhance the tokenizer so that it is able to deal with individual tokens
larger than 2GiB.
FossilOrigin-Name:
4e713558f6c6ea3dfbc97d2eb0a328955ef6ad6f2ad05517efe9ed4a60181440
drh [Fri, 24 Oct 2025 12:32:32 +0000 (12:32 +0000)]
In the CLI, improved error messages on input errors. Limit the size of a
single SQL statement to a little more than 2GB.
FossilOrigin-Name:
0b50e7e10aae3d57f1cbd38d02be50cfbd2d5148ab4a9be712afd8678787b7bd
drh [Fri, 24 Oct 2025 09:24:56 +0000 (09:24 +0000)]
Limit the size of --hexdb files in the CLI to 2 billion lines, to avoid
overflowing the line number counter.
FossilOrigin-Name:
2adfd0f47b028b8378e6cc08dc22abf1606036bbd285a7bc3a0de0eaf6feeb8f
drh [Thu, 23 Oct 2025 14:05:58 +0000 (14:05 +0000)]
Additional defenses against over-sized inputs in the (unused) amatch.c
demonstration code.
FossilOrigin-Name:
b9f6ae0767ce5d9cbc6fca6d63c929f919473fa669e50a0a460627e5fde2628c
drh [Thu, 23 Oct 2025 13:10:34 +0000 (13:10 +0000)]
Fix a faulty error message in the ext/misc/fileio.c extension.
FossilOrigin-Name:
1fdef271cd15d0960a7933253a10f288e26771cdcf34b5cd22adbc49d6341bc5
drh [Wed, 22 Oct 2025 00:38:28 +0000 (00:38 +0000)]
Adjust some of the markdown in the LICENSE.md file so that it will hopefully
work better on GitHub.
FossilOrigin-Name:
773f9d3dcf1ac7a9ce7f0911f46301f3e0e01d699f73a264cab692299a8d615e
stephan [Tue, 21 Oct 2025 16:15:53 +0000 (16:15 +0000)]
Back out [
b144f875d6bddce6 ] and remove the former check for strchrnul() from the configure script.
FossilOrigin-Name:
f4e059b2243c6db37b4dd201b03f0c1916baec5e9e1a660815fcd7eeaf530367
drh [Sun, 19 Oct 2025 17:30:07 +0000 (17:30 +0000)]
Reduce the maximum size of LIKE and GLOB patterns in the ossfuzz.c test
module to avoid false-positive infinite loop reports from OSS-Fuzz based
on long and complex fuzzer-generated LIKE/GLOB patterns that are not actually
infinite loops, but which do take a long time to resolve.
FossilOrigin-Name:
53edea286b0a38f4f9c7017276f3a826037919144d517f8c89ef0f35b65af5f1
drh [Sat, 18 Oct 2025 11:19:02 +0000 (11:19 +0000)]
Use 64-bit memory allocations everywhere in the expert extension.
FossilOrigin-Name:
6caf793b8f406f5089e3811591bc69384646df16ee18d63bd63760eaaa95d122
drh [Sat, 18 Oct 2025 11:04:03 +0000 (11:04 +0000)]
Increase the range of integer indexes in the the merge() family of
SQL functions.
FossilOrigin-Name:
8d3943890ef3b533df35c4784c2a42c52503a4d9c3dbe67241510d8b70669b48
drh [Fri, 17 Oct 2025 10:06:44 +0000 (10:06 +0000)]
Fix a minor memory leak in the CLI that can occur following an error
in the ".output" dot-command.
FossilOrigin-Name:
d1044bc0616fd20c63ca3b627ad0a116256870a082a72da26f98fb0f59ca44fd
stephan [Thu, 16 Oct 2025 23:42:39 +0000 (23:42 +0000)]
Resolve the MacOS-specific build issue reported in [forum:
95edc7a8d7d1de59 |forum post
95edc7a8d7d1de59 ], with help from Bo Lindbergh.
FossilOrigin-Name:
b144f875d6bddce62e8f2ad42bfe5dfa6c2434f2ef3edb86847fb4c23aa46814
dan [Thu, 16 Oct 2025 14:17:30 +0000 (14:17 +0000)]
Improve performance of the shell tool ".ar" command when it is given a large number of arguments.
FossilOrigin-Name:
8fed9de84bce01e88e0e8237e245c0ff9fe9f46394c603887e360658f5ef1ac1
drh [Thu, 16 Oct 2025 12:43:36 +0000 (12:43 +0000)]
In dbpage.c, disable truncation on any update error, including errors
in sqlite3PagerWrite().
FossilOrigin-Name:
eee5ba5d8a9d01000345185731c531eb84d3cb8e81bf429506c449d962aad843
stephan [Thu, 16 Oct 2025 01:44:03 +0000 (01:44 +0000)]
Fix an off-by-one in c-pp-lite.c which could cause @token@-processed output to get one duplicated byte.
FossilOrigin-Name:
aa2f4c51604f4d4286c8a1ec7eaa6251892471e32087af695712513ee620ea46
stephan [Wed, 15 Oct 2025 23:28:31 +0000 (23:28 +0000)]
stephan [Wed, 15 Oct 2025 23:13:50 +0000 (23:13 +0000)]
Resolve a valgrind-reported error in ext/wasm/c-pp-lite.c caused by successful exit colliding with the atexit() handler. Add -e SCRIPT support to c-pp-lite to facilitate testing.
FossilOrigin-Name:
7801c7225a18ccb2216b01663b30e3eb90a961e3d165af73f964c515b74fe745
dan [Wed, 15 Oct 2025 15:54:38 +0000 (15:54 +0000)]
Improve performance of the shell tool ".ar" command when it is given a large number of arguments.
FossilOrigin-Name:
0398897067ca5cdedfef0ce7a034ba6d5a2ce6104605ef4ed1c7549499435b44
drh [Wed, 15 Oct 2025 10:52:45 +0000 (10:52 +0000)]
Fix memory allocation in the ".table" command of the .cli when the number
of tables in the database file approaches 2 billion.
FossilOrigin-Name:
5cbccab499bc3983aac1f57355552db607dee6c7ef4eb00d794dbee89c18db70
drh [Tue, 14 Oct 2025 19:21:46 +0000 (19:21 +0000)]
Reestablish APIARMOR for the sqlite3_db_status() interface.
FossilOrigin-Name:
1738f0bdf5941a70684c82d2040561e53a272595026a837a9f9bab8508a46480
stephan [Tue, 14 Oct 2025 18:23:32 +0000 (18:23 +0000)]
JS/WASM: Expose sqlite3_db_status64(), sqlite3changeset_apply_v3(), sqlite3changeset_apply_v3_strm(), and SQLITE_DBSTATUS_TEMPBUF_SPILL.
FossilOrigin-Name:
b13eafc9b6820517b450041a7e2be573a896b5b9e88b2b28df9f15e3cb91e23d
drh [Tue, 14 Oct 2025 17:50:55 +0000 (17:50 +0000)]
Add the test/testloadext.c loadable extension to test the ability to use
the latest APIs using the loadable extension mechanism.
FossilOrigin-Name:
a9bd7ed6f77c5e53f9130eac7eb999c662e9158fb229a462d29f18653284d6d0
drh [Tue, 14 Oct 2025 17:09:06 +0000 (17:09 +0000)]
Add the sqlite3_db_status64() interface and the
SQLITE_DBSTATUS_TEMPSTORE_SPILL option for use in that interface.
FossilOrigin-Name:
9f8739ddea6ec6d8890d0e8f6a0143773a008e4f96bd02a48d4bfebb3f9b72fe
drh [Tue, 14 Oct 2025 16:57:50 +0000 (16:57 +0000)]
Make the new sqlite3_db_status64() API accessible to extensions.
FossilOrigin-Name:
2ebd7330312f3ee4674c343b7a19b703f1f89611a6846a0e2be39867f9895522
stephan [Tue, 14 Oct 2025 14:07:58 +0000 (14:07 +0000)]
drh [Tue, 14 Oct 2025 14:03:09 +0000 (14:03 +0000)]
Extra defenses against integer overflow in the decimal extension.
FossilOrigin-Name:
1a7414d9b5be7ce18b23c357fd98cd0e96d78ac626abfa6e4e0dee494b6a1efc
stephan [Tue, 14 Oct 2025 13:47:40 +0000 (13:47 +0000)]
Add a section to ext/wasm/README.md about the dependency on wabt/wasm-strip for release builds.
FossilOrigin-Name:
0dbb13863b3ff1da1be664967ac05c79cf34f7a78def05fe4f6407c06cb4322a
stephan [Tue, 14 Oct 2025 13:25:02 +0000 (13:25 +0000)]
Fix a makefile typo which caused a build directory to not get mkdir'd for the fiddle build.
FossilOrigin-Name:
d98d5abf6d27c5359ff8c797ad57394b96074e47010bc4c24120ba69a967dc3c
drh [Tue, 14 Oct 2025 11:18:45 +0000 (11:18 +0000)]
Merge all the latest trunk enhancements into the dbstatus-spill branch.
FossilOrigin-Name:
55f2613c1bacddb05902d4d5dac3d2b49b91053e6249dd926bb953c763eafeb0
dan [Mon, 13 Oct 2025 16:07:28 +0000 (16:07 +0000)]
Avoid integer overflows (a) when dealing with zeroblob(N) calls when 2*N is larger than 2^31, and (b) in fts5 when a corrupt record is close to 2^31 bytes in size. Both of these require special builds with SQLITE_MAX_LENGTH set to a non-default value.
FossilOrigin-Name:
27927519696dcb78ff72e245158ea6d33a1b2c3d4da314d4d0283c47d847c3da
drh [Mon, 13 Oct 2025 12:36:54 +0000 (12:36 +0000)]
Fix a bug in concat_ws() in which an initial empty string was treated as if
it was a NULL value.
FossilOrigin-Name:
eb2e4e46171c12f59aa5d571eeb310534360b110c3e7bda6eaf68f0e25546264
drh [Mon, 13 Oct 2025 10:35:59 +0000 (10:35 +0000)]
drh [Sun, 12 Oct 2025 19:17:31 +0000 (19:17 +0000)]
drh [Sun, 12 Oct 2025 10:31:34 +0000 (10:31 +0000)]
Fix order of operations in the OP_Concat operator of the byte-code engine
to avoid any possibility of an integer overflow.
FossilOrigin-Name:
765e6569824ccc34292d6df16a6cd682e6503f20adebe0a43cd2118d69072a63
drh [Sat, 11 Oct 2025 18:44:54 +0000 (18:44 +0000)]
Remove an unused variable from the generate_series implementation.
FossilOrigin-Name:
a523e4adbf8e60ea8c3351f33aff793c6e425c594038e8578d12564bf47aac03
dan [Sat, 11 Oct 2025 16:23:22 +0000 (16:23 +0000)]
Fix an assert() that could fail when reading a blob or text value larger than 1GiB from the database (requires a non-default build configuration). This is an assert() fix only, production builds were functioning correctly.
FossilOrigin-Name:
3e5ec5731f0c8c5f7da357c63d315aae5a2aca5c1b3567bc8c9386ccc2a798cf
drh [Sat, 11 Oct 2025 15:45:47 +0000 (15:45 +0000)]
Improvements to the (rarely used) home-grown varients of seriesCeil()
and seriesFloor() based on ideas from
[forum:/forumpost/2025-10-11T12:36:56z|forum post 2025-10-11T12:36:56z].
FossilOrigin-Name:
e6b9bfdb6f8f86d4d2891d65fee4274dcbc61c9e998d81f90232153c05788cab
drh [Fri, 10 Oct 2025 19:43:03 +0000 (19:43 +0000)]
Provide alternative implementations of ceil() and floor() to the
generate_series() function so that it will build even when SQLite is
compiled using --disable-math.
[forum:/forumpost/
91690fa646 |Forum post
91690fa646 ].
FossilOrigin-Name:
97d6fd2c99578adb6a1e9b879ba5ae5ad798a8ef8f0646bf0102747d52148bff
dan [Fri, 10 Oct 2025 16:04:19 +0000 (16:04 +0000)]
drh [Fri, 10 Oct 2025 14:31:46 +0000 (14:31 +0000)]
drh [Fri, 10 Oct 2025 14:22:05 +0000 (14:22 +0000)]
Makefile updates to suppose carray() and percentile(). Add Carray to
the CLI and fuzzcheck to support debugging.
FossilOrigin-Name:
fe9cf68b513d1e8cfcde90f1982a7f4123f54e3ebb004d961a99bdf6bec03a32
stephan [Fri, 10 Oct 2025 14:00:27 +0000 (14:00 +0000)]
Regenerate autoconf/Makefile.msc to squelch a 'make test' warning.
FossilOrigin-Name:
f7f55dce184c433b7774ab569caaeae5994c63421de01e9ea36aa1dbecb2d579
drh [Fri, 10 Oct 2025 13:43:53 +0000 (13:43 +0000)]
Fix the carrayfault.test script so that it works in configurations that
do not support virtual tables.
FossilOrigin-Name:
767a667b91caff2e789179231f13a0d260c9837020c0ce1553b86e88cf9aa352
drh [Fri, 10 Oct 2025 10:40:37 +0000 (10:40 +0000)]
Avoid (apparently harmless) undefined behavior in CARRAY if the rowid
is used as a constraint in the WHERE clause.
FossilOrigin-Name:
200b3c8f6cebf34428b0b41fc05f7361771dfee3592cfcdce512084abcc99713
drh [Fri, 10 Oct 2025 00:59:28 +0000 (00:59 +0000)]
Fix the sqlite3_bind_blob() interface so that it sets the encoding of the
underlying sqlite3_value object to the database encoding. Fix for the
problem reported by
[forum:/forumpost/2025-10-07T12:47:25z|forum post 2025-10-07T12:47:25z].
FossilOrigin-Name:
8e7da8cf506059dde98000db2731b8c47951344263df680a12b7c95aaece2568
drh [Fri, 10 Oct 2025 00:26:46 +0000 (00:26 +0000)]
Fix the xBestIndex method on carray so that it gives a coherient query plan
in a join when some of the arguments to carray() come from other table
in the join.
FossilOrigin-Name:
c8417b3261b2c9f20dcc38c482b9fc43acb97d933eb723c2f6698a7435a192eb
drh [Thu, 9 Oct 2025 19:23:01 +0000 (19:23 +0000)]
Fix carrayfault.test so that it works with the new built-in CARRAY.
FossilOrigin-Name:
22f694682107036e68b67e48123d606aeff8cd8b7fedc8ab8ed9cc1a9cccd73f
stephan [Thu, 9 Oct 2025 15:28:59 +0000 (15:28 +0000)]
Update c-pp.c and rename it to c-pp-lite.c to match its new upstream name. Adapt the JS files and mkwasmbuilds.c for c-pp syntactic changes.
FossilOrigin-Name:
bb13e46ddfcd1d3ca73845430d9a91c0ea3913762d39bbd94127783d77e4f63b
dan [Thu, 9 Oct 2025 14:50:27 +0000 (14:50 +0000)]
Avoid corrupting the fts5 index if a value that was inserted via sqlite3_bind_blob() in a non-utf8 db is deleted.
FossilOrigin-Name:
8bf26c956e199762d55c159392c2e3813a9e12b914d3ca33000bf332cd946cb0
drh [Thu, 9 Oct 2025 14:01:52 +0000 (14:01 +0000)]
In the CLI, limit column widths specified by the ".width" command to
have an absolute value not more than 30,000.
FossilOrigin-Name:
b3741f1101d25eded57a62b4967ec1bcce532dc9937c4b7b74cb689861efb442
drh [Wed, 8 Oct 2025 19:01:00 +0000 (19:01 +0000)]
Move the carray() extension and the percentile extension into the
amalgamation. Both are still turned off by default and must be
enable using SQLITE_ENABLE_CARRAY and SQLITE_ENABLE_PERCENTILE compile-time
options, so there is no increase in object code size. However, these
extensions are now more easily available.
FossilOrigin-Name:
2d40dc2173ac394024ae267419bd8d3621f15d4cd2449c9c2f7310acc3b190f0
drh [Wed, 8 Oct 2025 18:51:15 +0000 (18:51 +0000)]
Add the SQLITE_ prefix to the type constants used by sqlite3_carray_bind().
FossilOrigin-Name:
e11e9913e56d42d2baa07f1b549f212b873fe7343a06825682d843471c4a3640
stephan [Wed, 8 Oct 2025 18:17:19 +0000 (18:17 +0000)]
Make use of the new SQLITE_ENABLE_PERCENTILE in the wasm build.
FossilOrigin-Name:
937c084c2d9b20fde2d54e48257cb7018bd8c36d6f00ed6f1659b5ecc2f48ed4
drh [Wed, 8 Oct 2025 18:11:37 +0000 (18:11 +0000)]
Add ENABLE compile-time options to enable carray() and median(). Hence
there is no new code and no increase in library size without the ENABLE
macros.
FossilOrigin-Name:
7dec290b413ca1bc67694743d8b771e1634fd85251f1a23d60aaf36c63f0f366