]>
git.ipfire.org Git - thirdparty/sqlite.git/log
stephan [Sun, 28 Sep 2025 00:53:00 +0000 (00:53 +0000)]
Improve #if support in, and add #assert to, c-pp. Rename target=... preprocessor symbols to target:... because changes in the semantics for symbols which have an '=' makes some of those #if blocks mutually exclusive (which we won't want in rare cases involving the bundler-friendly builds).
FossilOrigin-Name:
54287487793d48f6dde919446ab7476aea0cc0aba3835c80f060a7b84221881a
drh [Sat, 27 Sep 2025 15:03:11 +0000 (15:03 +0000)]
Rework the bounds calculations on generate_series() in an attempt to
avoid signed integer overflow when the bounds are ridiculous values.
FossilOrigin-Name:
3d9148c7d7379a34a0c2a33a1eb2562234868bc0b14c3d16990b33e52fd4ebc5
stephan [Sat, 27 Sep 2025 13:34:02 +0000 (13:34 +0000)]
ext/wasm/c-pp.c: add #savepoint support. Consolidate how the diverse sqlite3_stmt handles are managed.
FossilOrigin-Name:
b44650f907e9cb4ec908bb7525488e309946fac9d84cdac4cdde730527a440a9
drh [Sat, 27 Sep 2025 13:00:37 +0000 (13:00 +0000)]
Use sqlite3_malloc64() and sqlite3_realloc64() everywhere in the CLI.
FossilOrigin-Name:
b05c47009120840f74955114082f3a9c1206a81bd935a503fc359b5bde61c996
drh [Sat, 27 Sep 2025 12:35:25 +0000 (12:35 +0000)]
Fix a bug in the ".dbtotxt" command of the CLI that causes a NULL pointer
dereference if run on an in-memory database.
FossilOrigin-Name:
865352499223c3bdc5cb01a2f984d6e3fe74a028ab6a0cf2d92fec49383633f6
drh [Sat, 27 Sep 2025 12:29:28 +0000 (12:29 +0000)]
Avoid integer overflow in memory allocation for the
".import --csv" command in the CLI.
FossilOrigin-Name:
a8093d45e0f59fd55ea4cba515e9e2eb3683bb0a4f4c062747cfb4074ae3db73
drh [Sat, 27 Sep 2025 11:54:49 +0000 (11:54 +0000)]
Additional cleanup and refinement of the regexp.c extension.
FossilOrigin-Name:
2b34b750b5528b6dda195bc1a3895dc3fe46e70cbf992a78111316e2726c1ade
stephan [Sat, 27 Sep 2025 11:38:35 +0000 (11:38 +0000)]
Teach c-pp how to replace configure-script-like @tokens@, giving us a much simpler way to get the proper WASM file name injected into each JS build.
FossilOrigin-Name:
ffd5c8eaa89250a043b573c3eb66693dfec087a5b5eef184ae6d7bfbcf61235a
stephan [Sat, 27 Sep 2025 00:07:25 +0000 (00:07 +0000)]
stephan [Sat, 27 Sep 2025 00:05:13 +0000 (00:05 +0000)]
Add wasm.ptr to the module-symbols.html output.
FossilOrigin-Name:
dced5a7c434b83553ede533f71e3133450795c12fc67acd1a55fdedfa8fed76c
stephan [Sat, 27 Sep 2025 00:04:28 +0000 (00:04 +0000)]
Latest upstream c-pp.c for the ability to process multiple inputs and outputs in a single invocation.
FossilOrigin-Name:
c7633373046ceb94f293b8fbd4f436a1eb281c2744d97334c6e7e3a803d8eac2
stephan [Fri, 26 Sep 2025 19:41:07 +0000 (19:41 +0000)]
Delay replacing the wasm file name strings until they're needed. Add target b-all to run all known wasm builds.
FossilOrigin-Name:
a4edaecc9b0b649df53a99e05d9abfbc5bdb40d45c7c6940a50b24fa30dca158
stephan [Fri, 26 Sep 2025 19:30:34 +0000 (19:30 +0000)]
Consolidate some duplicate code in mkwasmbuilds.c.
FossilOrigin-Name:
1078aa4f1e5685d45e31eea622865ddd077f367f1cec90fc267e8ba50cbe2ee9
stephan [Fri, 26 Sep 2025 19:19:35 +0000 (19:19 +0000)]
Clean up how the speedtest1 64-bit test/demo files are generated. Make log output very slightly less verbose.
FossilOrigin-Name:
64715e92708e4f8c5b82c1f4ed71b75f418bf741f7f05516eab309582fbfad2b
stephan [Fri, 26 Sep 2025 18:29:00 +0000 (18:29 +0000)]
Get 64-bit builds of speedtest1.wasm running in order to better compare 32-/64-bit performance (spoiler alert: the latter is consistently roughly 10% slower). Add WASM heap usage info to speedtest1.
FossilOrigin-Name:
70b944cc0189309c2265b184381f2f050bced7b83f204d57b912def6e203982a
stephan [Fri, 26 Sep 2025 17:11:39 +0000 (17:11 +0000)]
Reinstate the Module.instantiateWasm() override and simplify how the wasm filename gets injected into the JS files.
FossilOrigin-Name:
e878ffd2eaa87e2978c44fcd03a1eb6114a9ae31e31101898d682f43cf81000f
drh [Fri, 26 Sep 2025 15:38:52 +0000 (15:38 +0000)]
Limit the complexity of a REGEXP pattern using SQLITE_LIMIT_LIKE_PATTERN_LENGTH
FossilOrigin-Name:
869c968569b09d05a5b7d587d8fddb3b4611daf7467dc157701e5dc6c9608606
drh [Fri, 26 Sep 2025 13:14:20 +0000 (13:14 +0000)]
In the regexp extension, limit the maximum value of integers in the
"{p,q}" syntax, as performance of the NFA used to do pattern matching
is linear in the maximum such integer. The limit is SQLITE_MAX_REGEXP_REPEAT
which defaults to 999. This helps to prevent DoS attacks in systems that
make use of the regexp extension.
FossilOrigin-Name:
911c745f88c0ee8569e67bbcbbab034264f8c981b505aadac3ce7289486a1a68
stephan [Fri, 26 Sep 2025 12:49:41 +0000 (12:49 +0000)]
Get wasmfs build working in the new setup. Disable the custom wasm loader because its generated makefile code is currently broken.
FossilOrigin-Name:
36bc2514f70af5608aa20903d9c38b316603e2f78f2cbf4a20c7c79b60c5b8d5
drh [Fri, 26 Sep 2025 11:53:54 +0000 (11:53 +0000)]
Fix harmless integer overflows caused by over-sized integer constants in
the "{m,n}" syntax of the regexp extension.
FossilOrigin-Name:
8f17e1d869685b51f3368feed03dc06543ec16bc8fd81b8daad2ac2dbf99c5d6
stephan [Fri, 26 Sep 2025 11:47:13 +0000 (11:47 +0000)]
Docs and dead code removal in mkwasmbuilds.c.
FossilOrigin-Name:
d022ee167b90a7c32049a93d476e869270018017f60551185024409730d77640
dan [Fri, 26 Sep 2025 11:45:13 +0000 (11:45 +0000)]
Fix some integer overflow problems when handling corrupt hexdb dumps in the shell tool. [forum:/forumpost/
82b513b116 | Forum post
82b513b116 ].
FossilOrigin-Name:
730323f95d126162fd2867dbee1e1f1fc1d6e05b8a905a6767c4ab1cb43dacff
drh [Fri, 26 Sep 2025 11:36:10 +0000 (11:36 +0000)]
Add new table-valued functions jsonb_each() and jsonb_tree() that work just
like json_each() and json_tree() except that the "value" column is JSONB
instead of JSON text when the "type" is 'object' or 'array'.
FossilOrigin-Name:
dfc41cb3aad7fedd834baaaba0d8e3aeb55a249af4f0934397652ea9c59dc9fc
drh [Fri, 26 Sep 2025 11:28:01 +0000 (11:28 +0000)]
stephan [Fri, 26 Sep 2025 11:14:15 +0000 (11:14 +0000)]
In c-pp.c, use (void)x instead of an empty if(x){} to flag unused arguments.
FossilOrigin-Name:
df9ab8a35517e3a2baf4b19d07d46ce3f8b48043ccdeadef22bffc12e80461c3
drh [Fri, 26 Sep 2025 10:29:07 +0000 (10:29 +0000)]
stephan [Fri, 26 Sep 2025 02:18:28 +0000 (02:18 +0000)]
More build docs. Add a speedtest1 64-bit build but it's not hooked up to any test apps yet. Improve invalid-arg detection in c-pp.
FossilOrigin-Name:
69086be8a155d70d9dd7b655b66809250b24fe6d5bcdc6cb5e0275446a43f51d
stephan [Fri, 26 Sep 2025 01:38:07 +0000 (01:38 +0000)]
drh [Thu, 25 Sep 2025 23:32:23 +0000 (23:32 +0000)]
Add JSON table-valued functions jsonb_each() and jsonb_tree().
FossilOrigin-Name:
2f8b461c636ce2c0e7970c00d1e6ea62cdef72273150fea6aabe4e9292724977
stephan [Thu, 25 Sep 2025 18:53:28 +0000 (18:53 +0000)]
wasm dist: add --snapshot flag, add -64 flag to include 64-bit builds, and add module-symbols.html to the dist.
FossilOrigin-Name:
e9a6391b377b6964620285192262a4dc9fe1712799f7aa8a8b37c5f718544ed2
stephan [Thu, 25 Sep 2025 17:29:12 +0000 (17:29 +0000)]
Replace ext/wasm/dist.make with mkdist.sh and get dist working with the new build. Fix the preprocessing flags for tester1-esm.html.
FossilOrigin-Name:
ab6eb4d3b723107da488770b1849b9f1d1c491348f1eaa544e0e07356b8fac7d
stephan [Thu, 25 Sep 2025 15:17:58 +0000 (15:17 +0000)]
Overhaul the wasm build to (A) support more coexisting variants, e.g. 32/64-bit of both vanilla and esm, and (B) build each variant to its own subdir so that they can build in parallel. It can, with make -j4, now build all new variants in half the time it previously took for just the 32-bit builds. The new build logging output, though unconventional, serves two purposes: (A) improve my build-time situational awareness and (B) it help demystify some of the build steps and output files.
FossilOrigin-Name:
2f4be98614b49def2c2951887796c736269ef3bb7ba5b045cae5f748ae165a83
drh [Thu, 25 Sep 2025 15:06:57 +0000 (15:06 +0000)]
Fix the translation of "\v" in JSON5.
[forum:/forumpost/
28e21085f9c6a4e7 |Forum post
28e21085f9 ].
FossilOrigin-Name:
2914e8fc7b10e8b42c9a0fbd0e71f495714cee3cae67b8c238d37b1e7ec22359
stephan [Thu, 25 Sep 2025 14:44:03 +0000 (14:44 +0000)]
Remove some superfluous tabs and add the mkwasmbuilds ability to emit just its prologue.
FossilOrigin-Name:
75079401753778e3bc2f7fa307de9217e8d1ec395079fc1009060f707be32943
stephan [Thu, 25 Sep 2025 14:39:41 +0000 (14:39 +0000)]
Minor logging fix for the wasm-opt build step.
FossilOrigin-Name:
918eca02d162cfa98613f9d8d9b0901f9f94ae1bcb53d811b09baec6c3f06bbe
stephan [Thu, 25 Sep 2025 14:29:47 +0000 (14:29 +0000)]
Move fiddle.make into the main makefile. Various adjacent cleanups and docs.
FossilOrigin-Name:
fabd6160d0c128592ce512b1160dfa0b89b1fbb03e11cd185c6a4888a85cc7fb
dan [Thu, 25 Sep 2025 11:10:55 +0000 (11:10 +0000)]
Avoid an integer overflow in the shell tool when outputing hex dumps of blobs greater than 1GB in size.
FossilOrigin-Name:
4a1bb874f12adda26e91970b64e700cb904c126412989be4debac9a5647d6f69
drh [Thu, 25 Sep 2025 10:55:54 +0000 (10:55 +0000)]
Convert the ShellText object in the CLI to use sqlite3_malloc64() rather than
plain malloc(). Avoid unnecessary quoting of table names in .dump output
and similar. Improved detection of OOM in set_table_name().
FossilOrigin-Name:
6ce4f6dc15a575c318669051fe6590ad114b52ff3f3e260cdf7accccdd922d63
dan [Thu, 25 Sep 2025 10:50:11 +0000 (10:50 +0000)]
Avoid an integer overflow ([forum:/forumpost/
b3abe06121 | forum post
b3abe06121 ]) and a compiler warning ([forum:/forumpost/
3db6aa9ed6 | forum post
3db6aa9ed6 ]) in the shell tool code.
FossilOrigin-Name:
39925489b347ec3126389c6dba1ee719373e50c6cea6944384a212c3a3e163d2
stephan [Thu, 25 Sep 2025 02:30:55 +0000 (02:30 +0000)]
stephan [Thu, 25 Sep 2025 02:02:48 +0000 (02:02 +0000)]
Consolidate the speedtest1 wasm build into the new mkwasmbuilds.c model. Remove the long-unused batch-runner JS tools.
FossilOrigin-Name:
980c033c05bf37c0e8f5e82486ee99ba1294cc9c9e2087aaf83b64e5d0118b5f
stephan [Thu, 25 Sep 2025 00:53:30 +0000 (00:53 +0000)]
stephan [Wed, 24 Sep 2025 23:07:45 +0000 (23:07 +0000)]
Move the static makefile code from mkwamsbuilds.c into the makefile. Move util.make back into the main makefile. Remove a bunch of dead makefile code and docs.
FossilOrigin-Name:
18beeb26bfa48f806866e0e330024535adabcf668071abc4b6251eb39de2701d
stephan [Wed, 24 Sep 2025 20:53:19 +0000 (20:53 +0000)]
drh [Wed, 24 Sep 2025 20:44:33 +0000 (20:44 +0000)]
Fix the makefile so that "<tt>test/testrunner.tcl release --buildonly</tt>"
works on mac. Apparently broken by [
b7751d144330593b ].
FossilOrigin-Name:
023365228f3264c53263b649365e7c133d8633010baf6e050fdee044a40454dd
stephan [Wed, 24 Sep 2025 20:39:08 +0000 (20:39 +0000)]
Get the tester1 worker1/promiser demos building again. Show WASM heap usage in tester1 if.
FossilOrigin-Name:
6691a84872f823c95b0bdc3db8e12d21c9561aa1e1ce1d787a977f2c5ef8225a
drh [Wed, 24 Sep 2025 20:09:48 +0000 (20:09 +0000)]
Add an assert() to fix a harmless compiler warning in the session extension.
FossilOrigin-Name:
d77b8ad96c695594668cd7019c7f607fe5efa5474dde0ece8b621051cf88a0b5
drh [Wed, 24 Sep 2025 19:51:07 +0000 (19:51 +0000)]
drh [Wed, 24 Sep 2025 19:10:58 +0000 (19:10 +0000)]
Rework the set_table_name() function in the CLI to use modern APIs.
[forum:/forumpost/
2baa4acd64 |Forum post
2baa4acd64 ].
FossilOrigin-Name:
821cc0e421bc14a68ebaee507e38a900e0c84ff6ba7ee95bf796cad387755232
drh [Wed, 24 Sep 2025 17:49:09 +0000 (17:49 +0000)]
Special case the "decimal(-0.0)" output to show exactly 0.0, just as it
does for positive zero.
[forum:/forumpost/
adc719d88d56ab22 |Forum post
adc719d88 ].
FossilOrigin-Name:
9ca4163bd93d78be5e4daf2b5d2b920d54d038c6fa8217dd2add0be0da6cd6b0
stephan [Wed, 24 Sep 2025 17:46:08 +0000 (17:46 +0000)]
Generate 64-bit variants of tester1.js/html. Enhance c-pp to accept multiple input files.
FossilOrigin-Name:
ef6c55e4499957fb46b213540786e5d3928ec096eae1fe759066ed011518e7a2
drh [Wed, 24 Sep 2025 17:38:13 +0000 (17:38 +0000)]
drh [Wed, 24 Sep 2025 17:07:15 +0000 (17:07 +0000)]
Additional short-circuit optimizations for AND/OR operators. Also fix
bugs in prior implementations (such as [
0083d5169a46104a ]).
FossilOrigin-Name:
63b686fe4cb1d5d82dd3a399aaafd1dfcbda533ca83b46ed2bc2750baa7f251d
drh [Wed, 24 Sep 2025 16:26:44 +0000 (16:26 +0000)]
Simplification to the AND/OR short-circuit logic.
FossilOrigin-Name:
7be555a3b8500c43c2f30171af26bcda9bcb68f41992b792228218a56315e7c4
dan [Wed, 24 Sep 2025 16:10:46 +0000 (16:10 +0000)]
Improve performance of window function queries that use "BETWEEN :x FOLLOWING AND :y FOLLOWING" where :y is a very large number.
FossilOrigin-Name:
1f0b7143575634929c0f77bafa888f0be2dd83f0c6c3deadd8299ac4ab8a8c01
drh [Wed, 24 Sep 2025 14:43:42 +0000 (14:43 +0000)]
stephan [Wed, 24 Sep 2025 13:59:53 +0000 (13:59 +0000)]
Add docs to mkwasmbuilds.c explaining the purpose of each of the builds. Remove some inadvertent copy/paste hard tabs in some C-side makefile code.
FossilOrigin-Name:
a2bd965e103026ff5c722357ed9e3432172bbc19d267e718ebd4a876eca41742
drh [Wed, 24 Sep 2025 13:10:55 +0000 (13:10 +0000)]
Factor out the code that handles AND and OR short-circuiting into a
separate subroutine, for performance and legibility.
FossilOrigin-Name:
cab84a65c3825c59f3a7a750f4983563ce7ad007125cbcf35c187326289fea89
drh [Wed, 24 Sep 2025 12:01:50 +0000 (12:01 +0000)]
Fix incorrect buffer size computation for the base64() extension function.
[forum:/forumpost/
b1993c858f |Forum post
b1993c858f ].
FossilOrigin-Name:
603efcd404f0013559ca5bd936fc39481a3aa33a10340bac27b751b6b286d0b7
drh [Wed, 24 Sep 2025 11:12:26 +0000 (11:12 +0000)]
Restrict the size of the LIMIT on a generate_series() query to avoid
an integer overflow when computing the final output value.
[forum:/forumpost/
479bfb0d3b |Forum post
479bfb0d3b ].
FossilOrigin-Name:
266aacb4759945f7cf7a258014620f21225261246edc08e6e71ff5292baf22f3
stephan [Wed, 24 Sep 2025 07:31:19 +0000 (07:31 +0000)]
stephan [Wed, 24 Sep 2025 07:00:37 +0000 (07:00 +0000)]
Fix the positioning of the wasm-bare-bones flag init.
FossilOrigin-Name:
f5167fb3615efc180e69333f99d82d6afc1d190e7f37b6a701895de00502d8c8
stephan [Wed, 24 Sep 2025 06:59:47 +0000 (06:59 +0000)]
In speedtest1, always use fatal_error() to exit fatally, instead of an fprintf/exit() pair, so that stdout/stderr get flushed consistently (which is significant for the WASM build).
FossilOrigin-Name:
1bd15cb343f6ce57f108291a8ed0f3ee2046932591d44edec133fe3ea43a2ef0
stephan [Wed, 24 Sep 2025 06:43:24 +0000 (06:43 +0000)]
Further wasm build refactoring. Get speedtest1 building again.
FossilOrigin-Name:
5434307dcd927686ce827da22de55020c4b431f888ac81ae3634d458ad0b563d
stephan [Wed, 24 Sep 2025 04:58:14 +0000 (04:58 +0000)]
Move some of the generated wasm makefile utility code out of C and into util.make.
FossilOrigin-Name:
a2935758f534b51cac3d2e5ece74b369c806e3a994781744708e1590b9c32542
stephan [Wed, 24 Sep 2025 03:05:31 +0000 (03:05 +0000)]
stephan [Wed, 24 Sep 2025 01:50:08 +0000 (01:50 +0000)]
Get fiddle building properly again and fiddle/fiddle.debug building in parallel.
FossilOrigin-Name:
85fe9c6155f72583cea46d38bf5e040623d71fb5317ff9373421dbfdb179b2b0
drh [Wed, 24 Sep 2025 00:13:28 +0000 (00:13 +0000)]
Improved short-circuit evaluation of AND and OR. All appears to work, but
there are still testing and performance issues to be worked out.
FossilOrigin-Name:
0d4447aa61848deecf9170afce031f7b353b91d58474f3f094ce34e46be7f99e
stephan [Tue, 23 Sep 2025 23:22:31 +0000 (23:22 +0000)]
Get fiddle/fiddle.debug building again but they're incomplete and don't run.
FossilOrigin-Name:
d725a075bc3303c5a26c4014f57162235cebc6491425083b4d80936de8f07fb0
drh [Tue, 23 Sep 2025 17:00:53 +0000 (17:00 +0000)]
Improvements to short-circuit evaluation of AND and OR operators.
This is a partial and incomplete response to
[forum:/forumpost/
f5adeb59ff77c056 |forum post
f5adeb59ff77c056 ].
FossilOrigin-Name:
cea8bf79e18d55a8658e48a967cd0b7970b6f88badb769cfbb1f66ab24fb9ec8
drh [Tue, 23 Sep 2025 16:01:45 +0000 (16:01 +0000)]
In the ieee754 extension, render -0.0 as 'ieee754(-1,-3071)' instead of
'ieee754(1,-3071)' as that makes the sign clearer. Both strings still
convert back to -0.0. Note that negative zero
and positive zero are distinct values in ieee754.
[forum:/forumpost/
1eab7e4a08 |Forum post
1eab7e4a08 ].
FossilOrigin-Name:
136188c161a8a2d5166798fcbd341bd1d3f81da7291011f806d6b2153544832c
stephan [Tue, 23 Sep 2025 13:49:44 +0000 (13:49 +0000)]
Get most of the wasm build (re)working and much prettier.
FossilOrigin-Name:
a5a7890c75003a637a227b700dc342f4f4a24bd368b216bdb168b4ddfbe8f015
stephan [Tue, 23 Sep 2025 10:46:17 +0000 (10:46 +0000)]
Cosmetic wasm build tweaks. Fixed wasm-opt use, broken by this branch's refactoring.
FossilOrigin-Name:
4d7eff2afbcf023291bc1133c4413d1ea44f4096bb515e4bcd40bc8fc8d2a591
stephan [Tue, 23 Sep 2025 08:44:07 +0000 (08:44 +0000)]
Make it easier to pick out which parallel build messages belong to which wasm build.
FossilOrigin-Name:
913af3dd6a8da577ef19b0d82c8afec0c626d7fa5fddbdf418d2eb16c3050ab1
stephan [Tue, 23 Sep 2025 08:23:23 +0000 (08:23 +0000)]
stephan [Tue, 23 Sep 2025 06:31:24 +0000 (06:31 +0000)]
Create each distinct wasm build into its own dir, instead of all going to in jswasm/sqlite3.wasm, so that the build can now run in parallel.
FossilOrigin-Name:
47526a75f2ad85100b1eae7ab1cf9a9dddd4430a99f7a30aa0c16548d1db9d33
stephan [Tue, 23 Sep 2025 05:10:19 +0000 (05:10 +0000)]
Start reworking the wasm build (again) with an eye towards simplifying it. Currently only the canonical and esm builds work, not fiddle, speedtest, nor the bundler stuff.
FossilOrigin-Name:
102c4a35b86405273d1f7e9e34466c9deed7831099a8207b6f48746b998193f9
stephan [Tue, 23 Sep 2025 02:04:07 +0000 (02:04 +0000)]
Add makefile target '64bit' to ext/wasm/GNUmakefile to build the 64-bit bundles. It does not yet generate copies of the test apps to load/test them, pending other reworking of the build.
FossilOrigin-Name:
3e2ea990ad76f9e68d514568f53eaa692a1eb11695fceb1bcc58cea00605fff9
stephan [Tue, 23 Sep 2025 00:24:58 +0000 (00:24 +0000)]
Slight correction to the diagram in the previous checkin.
FossilOrigin-Name:
6455af2703e78fb9b6df19cf4b46873d98ec91c3302dc0093a362d03ac48da91
stephan [Mon, 22 Sep 2025 23:48:05 +0000 (23:48 +0000)]
Add a high-level diagram showing how sqlite3.js gets assembled.
FossilOrigin-Name:
e0dfa1e62ba6d71abe1f48969eb6f53c83f2c28d47b996ee223587d923cc282f
stephan [Mon, 22 Sep 2025 21:04:24 +0000 (21:04 +0000)]
Refactor and simplify the JS API bootstrap steps.
FossilOrigin-Name:
a4f36fd93738f985d2c757c69eddca092732ce6148af98eb2595f9abe0d4fa44
stephan [Mon, 22 Sep 2025 18:05:10 +0000 (18:05 +0000)]
Update ext/wasm/api/README.md for recent changes.
FossilOrigin-Name:
03b70686939e5f9ad984220a31674c23a1beb19f040c6327f24e23f0378555da
stephan [Mon, 22 Sep 2025 17:29:52 +0000 (17:29 +0000)]
Cleanups and docs in the internal parts of the JS lib bootstrapping. More tinkering with the custom (but still disabled) wasm file loader.
FossilOrigin-Name:
35651d9ab5529da915500fc50ca3833a004d0b7a19d98e8fbf39234d94697aec
drh [Mon, 22 Sep 2025 17:28:08 +0000 (17:28 +0000)]
Revise [
a4430d262b3e129d ] to preserve legacy behavior of the imposter
test-control. The control argument must be 2 now to get read-only behavior.
The control argument of 1 goes back to the prior read/write behavior.
FossilOrigin-Name:
3e7ede2e6dc9ac8e746dafe0ecb5379044631e753e951f9ab97ec84addbd830a
stephan [Mon, 22 Sep 2025 13:13:02 +0000 (13:13 +0000)]
In wasm.ptr.coerce(), treat the undefined value the same as 0 for Number-type pointers for consistency with the BigInt coercion. The bindings have long treated both null and undefined as === 0 for pointer operations.
FossilOrigin-Name:
ef73bb1ddae28c6a0b462a2a840bfaaec3fc70d843e9ab6c53097281ffc85a78
stephan [Mon, 22 Sep 2025 11:52:06 +0000 (11:52 +0000)]
stephan [Mon, 22 Sep 2025 11:41:15 +0000 (11:41 +0000)]
Rework the JS/WASM pieces for compatibility with both 32-bit and 64-bit WASM environments. This affects only the browser-side components, not the --with-wasi-sdk build nor the core library.
FossilOrigin-Name:
8ac367686fecd2e3ff1f4b4565e9f206a64237744e381704693df2e6efbe235a
dan [Mon, 22 Sep 2025 10:48:10 +0000 (10:48 +0000)]
Fix a problem with handling of 4-byte utf-8 characters in the shell tool (not the sqlite library). Forum post [forum:/forumpost/
184b372388 |
184b372388 ].
FossilOrigin-Name:
f3e845cf38fc364bfa3f8d433b668f884d11286c823d87ee0ed124a991c94e14
stephan [Mon, 22 Sep 2025 02:40:06 +0000 (02:40 +0000)]
Experimenting with a custom wasm loader, but don't enable it without an explicit build flag. The goal here is to make the WebAssembly.Module object available internally (the default loader hides it from us).
FossilOrigin-Name:
e5f0256feab95c30a8e3e1e69963fb3e25ed2da296aff5bc6646fe96a76c0b81
stephan [Sun, 21 Sep 2025 23:15:12 +0000 (23:15 +0000)]
Minor internal optimizations in the wasm glue.
FossilOrigin-Name:
fb053a27d94f9caedfddf28680e13836343745376e84c8008641df6bb517cd8b
stephan [Sun, 21 Sep 2025 22:17:13 +0000 (22:17 +0000)]
stephan [Sun, 21 Sep 2025 22:08:05 +0000 (22:08 +0000)]
Remove some stale makefile comments. Add a little widget to fiddle's toolbar which shows whether it's running in 32- or 64-bit mode. Reduce fiddle's starting memory to 8MB.
FossilOrigin-Name:
e99730f96e13f7497a871fdcc5eaa4187835f005a759f0fc79bbfe982f454437
stephan [Sun, 21 Sep 2025 21:37:44 +0000 (21:37 +0000)]
Improve db-close-time cleanup in the face of WASM environments which wrap wasm.exports in nullary wrappers.
FossilOrigin-Name:
fbb63634eab83fda0090fe2c38bda735b497fd6e57dd36344559962e396dbb17
stephan [Sun, 21 Sep 2025 21:17:41 +0000 (21:17 +0000)]
Fix a Number/BigInt descrepancy in oo1.DB() when passed a WASM-string db filename. Consolidate some duplicated internal code and adjacent minor cleanups.
FossilOrigin-Name:
d078aff7817ccd4f891024e55703519307a53815d472086bf3d42b2be28698b3
stephan [Sun, 21 Sep 2025 20:26:47 +0000 (20:26 +0000)]
Fix a StructType.dispose()/ondispose() memleak in Jaccwabyt bindings in 64-bit builds and update its docs for 64-bit additions. Remove the parts of tester1.js related to skipping specific tests in 64-bit builds.
FossilOrigin-Name:
6baea1d719b0c345fee5f32a3917ce9c507a2d8cb029eaca675daca77f297eba
stephan [Sun, 21 Sep 2025 19:39:06 +0000 (19:39 +0000)]
stephan [Sun, 21 Sep 2025 19:01:15 +0000 (19:01 +0000)]
Remove some dead code and stray debug output. Fix (again) the JS SQLTester for 64-bit (the previous build was set to 32-bit).
FossilOrigin-Name:
a6b9567001dad0293dc6a7fe9a7ec1a220e41d9426448e2ab91dbd551948be15
stephan [Sun, 21 Sep 2025 18:42:25 +0000 (18:42 +0000)]
Update the JS SQLTester for recent sqlite3.wasm changes.
FossilOrigin-Name:
0fa1830540bcb86f5c59b1a6a9ffd8727c194a64a131d9d362023c84a3b820cb
stephan [Sun, 21 Sep 2025 17:55:23 +0000 (17:55 +0000)]
Generic cleanups and simplifications in JS code.
FossilOrigin-Name:
074cf4e6c1775900204bb0d920111ee19601d5c63690e79e988e7fe6b040a647
stephan [Sun, 21 Sep 2025 14:25:29 +0000 (14:25 +0000)]
Rename wasm config entry pointerSizeof to pointerSize for consistency with wasm.ptr.size.
FossilOrigin-Name:
2cd8ba740f9b14dc1408b62632c603076b070dc412bf7cbfb3b525f0c4912371