]>
git.ipfire.org Git - thirdparty/sqlite.git/log
stephan [Sat, 24 Sep 2022 10:15:08 +0000 (10:15 +0000)]
Resolve "already configured" warnings from shell's main() when starting it up in fiddle mode.
FossilOrigin-Name:
114ef3552af977b272a0baddeb9a2326484b60acfc75284e43c55530f86b413f
stephan [Sat, 24 Sep 2022 10:12:19 +0000 (10:12 +0000)]
Reworked out the OPFS async proxy metrics are fetched so that they play more nicely with the tight event-polling loop.
FossilOrigin-Name:
ef503ced5c2ca842be9aea9ef13719a378ed3020e884032db09afee1b8eba0a1
stephan [Sat, 24 Sep 2022 07:36:45 +0000 (07:36 +0000)]
Refactoring towards getting fiddle to support OPFS as a first-class citizen. Certain operations, e.g. import, export, and unlink, are not OPFS-aware.
FossilOrigin-Name:
1b923ed6438d7fef4508936e0c4bc026a368721698b1539961e3fb3140a185cb
dan [Fri, 23 Sep 2022 21:01:10 +0000 (21:01 +0000)]
Internal changes to the recover extension towards a step() style interface.
FossilOrigin-Name:
73926d5c8cd1ecece134b5a73b44ee1dfca74dc200606e3f009b06cdecf8cee9
dan [Fri, 23 Sep 2022 11:40:43 +0000 (11:40 +0000)]
Fix various compiler warnings in new code on this branch.
FossilOrigin-Name:
ae49e9efde3012158061def6e0a8d993abbc5933514a21f84bc10f700f61b5e2
dan [Fri, 23 Sep 2022 11:30:24 +0000 (11:30 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
e87fa70ab0f9b95bbcde18567f47906a222a3fd02b4f3c2903d2bb087d361b7c
stephan [Wed, 21 Sep 2022 20:24:12 +0000 (20:24 +0000)]
Reformulate some JS to work around a buggy/broken code transformation in one of the Emscripten-driven code optimizers.
FossilOrigin-Name:
e1249369d5ec1c582c280b1f578b35d53637fdf1cbd97c16d5ed95b136b83e56
stephan [Wed, 21 Sep 2022 19:51:25 +0000 (19:51 +0000)]
Put pieces in place for fiddle to support opfs, but more cleanup is required in the sqlite3.js/fiddle connection. bigIntEnabled now defaults to whether the Emscripten's module has bigint enabled. Add wasm-sensible defaults for several SQLITE_ENABLE/OMIT flags in sqlite3-wasm.c.
FossilOrigin-Name:
7c7fb7535e86b3960eea7f29ab7e6d5197c166b4ee64ad4a9bc0749f2869badc
drh [Wed, 21 Sep 2022 18:21:31 +0000 (18:21 +0000)]
Reduced and improved comments on the constraintCompatibleWithOuterJoin()
function.
FossilOrigin-Name:
38aaf26e082bd95df6b64df43e1772fe6e20c4eb71307dcd97559cac7f11f8f1
stephan [Wed, 21 Sep 2022 16:21:21 +0000 (16:21 +0000)]
shell.c.in: when building in fiddle mode, define _POSIX_SOURCE (ifndef) so that emcc's string.h reveals strdup().
FossilOrigin-Name:
fb85b269c43147f153977606dd8ede7b93744bf955e4c1a2b198907fd8a94620
stephan [Wed, 21 Sep 2022 14:02:47 +0000 (14:02 +0000)]
Correct mistyped --shrink-memory flag in speedtest1-worker. Minor OPFS proxy cleanups.
FossilOrigin-Name:
86e2b55ec9483fa5add51a479c6509d73461f1ac6fca5d49e057b1c66f4314d2
stephan [Wed, 21 Sep 2022 12:27:35 +0000 (12:27 +0000)]
Doc cleanups and additions. Add a way for the OPFS async runner to propagate exception text to the calling thread.
FossilOrigin-Name:
5c5e80652825cf883e6c17809cb98f2bf17d5feac2d263f6f492479154730dab
stephan [Wed, 21 Sep 2022 12:25:40 +0000 (12:25 +0000)]
Added some structure to the wasm demo link list.
FossilOrigin-Name:
777077c4c2249e1ec78390d4f65aaf281c1fbefcef4bcc7609199e995645ceb6
drh [Wed, 21 Sep 2022 09:54:41 +0000 (09:54 +0000)]
The RIGHT JOIN logic added to version 3.39.0 added a new restriction on the
query flattener which resulted in a performance regression for some queries,
as documented by [forum:/forumpost/
96b9e5709cf47cda |forum post
96b9e5709cf47cda ].
This change removes that restriction (thus restoring performance) and fixes the
problem that RIGHT JOIN was having in a different way.
FossilOrigin-Name:
501609eddf2a46d51e8cd56477a22d4df142a166e78fe4322c0db11d1eed6687
stephan [Wed, 21 Sep 2022 08:41:40 +0000 (08:41 +0000)]
Add a link to fiddle.html in the wasm test app index.html.
FossilOrigin-Name:
96c734c07acfbea153d9aaf293a28a2d49d78de19fec4fb90c4c08fb1fd0ddbd
stephan [Wed, 21 Sep 2022 08:39:03 +0000 (08:39 +0000)]
Move fiddle build rules into the wasm-centric build files. Add rule to push wasm bits to the wasm test server.
FossilOrigin-Name:
113f8204dc4ac849d5632d3de1680b6e0da871e107ef484c8d7273799bee3d88
drh [Wed, 21 Sep 2022 00:16:59 +0000 (00:16 +0000)]
Break out the decision of whether or not a constraint term is usable by
an outer join into a subroutine: constraintCompatibleWithOuterJoin().
FossilOrigin-Name:
c7fbc9b0453050e2746af27e3a11e0c3701bef8c56da8e19173242c6ea3aff8b
drh [Tue, 20 Sep 2022 22:19:13 +0000 (22:19 +0000)]
Do not allow EP_InnerON terms to be used on a outer join.
FossilOrigin-Name:
f47aa745690c018800243bf76930b2499ff4537411c4e27b4b16ba3854cc2bf8
drh [Tue, 20 Sep 2022 21:07:52 +0000 (21:07 +0000)]
Add new test cases that (current) get an incorrect answer.
FossilOrigin-Name:
fe5c37736444e397ace387b761ec2491229785d7a437f3f60232aedf9d1f00ec
drh [Tue, 20 Sep 2022 19:45:04 +0000 (19:45 +0000)]
New test cases for query flattening when there are ON clauses and outer joins.
FossilOrigin-Name:
db55387b1972bc7bc6855bd3497af744a111e7d28d09893cd985fbb01be41bcc
drh [Tue, 20 Sep 2022 19:22:17 +0000 (19:22 +0000)]
Modify the OP_IfNotOpen opcode so that the jump is taken if the cursor is open
but was previously set to a NULL row using OP_NullRow.
FossilOrigin-Name:
1292d68caa7086610ddda343f3852e63de8da1eb66536ee4716b6529f5a31bc6
drh [Tue, 20 Sep 2022 18:18:00 +0000 (18:18 +0000)]
Remove code that has been previously commented out.
FossilOrigin-Name:
852b385a5de622aa32026824210d4bd23db52a4a8a697b83d22d6000edeba487
drh [Tue, 20 Sep 2022 17:43:40 +0000 (17:43 +0000)]
Merge the fuzzcheck fix from trunk into the flattener improvement branch.
FossilOrigin-Name:
930a8c1561d0d5dc70dc5378edac77f79ac59ab6569b561de3dfb02f160c38c5
drh [Tue, 20 Sep 2022 17:21:54 +0000 (17:21 +0000)]
Update the fuzz invariant checker to conform to the latest changes in
dbsqlfuzz.
FossilOrigin-Name:
8d8c124349d2a25200ace9a60d76751594b722468ad0c39d927a5d2c6e2464e0
drh [Tue, 20 Sep 2022 16:57:49 +0000 (16:57 +0000)]
Is the query flattener restriction 29 (do not allow both EP_InnerON and
EP_OuterON constraints on the same FROM clause term) really necessary? This
branch explores what happens if we omit that restriction. This is an effort
to address the performance regression reported by
[forum:/forumpost/
96b9e5709cf47cda |forum post
96b9e5709cf47cda ] that is caused
by flattener restriction 29.
FossilOrigin-Name:
19270577ad1d08c9e6e5f0600396b8a1ccda9df1e67a0df845aee6b60437f379
stephan [Tue, 20 Sep 2022 16:20:35 +0000 (16:20 +0000)]
Correct a too-strict is-opfs-available check.
FossilOrigin-Name:
1b5f1b4a6c1457f98c258459e23e321fc59793de298fecb84031b87f02156cd5
stephan [Tue, 20 Sep 2022 16:10:39 +0000 (16:10 +0000)]
Merge kv-vfs-magic-names branch into fiddle-opfs branch and make some kvvfs-relevant tweaks.
FossilOrigin-Name:
e3d36dcdd37e59f17a07d3611d08744eb86f439fab82a648490dd608bcaa3185
stephan [Tue, 20 Sep 2022 14:52:26 +0000 (14:52 +0000)]
Export the sqlite3_uri_...() family of functions to wasm.
FossilOrigin-Name:
72bebc848fce5c3b4766017d016ccb2360de2bd0cb3e47e710c80dbcb6b8b707
stephan [Tue, 20 Sep 2022 14:39:54 +0000 (14:39 +0000)]
Merge opfs-proxy-atomics branch into the fiddle-opfs branch.
FossilOrigin-Name:
25a36920d44544547a84161681cd41e292b4a70df60ac3630791873a79237d98
drh [Tue, 20 Sep 2022 14:36:53 +0000 (14:36 +0000)]
When compiled with SQLITE_OS_KV_OPTIONAL, the magic names ":localStorage:"
and ":sessionStorage:" are recognized and converted to use the kv-vfs.
FossilOrigin-Name:
c5db9262d0388ccb0e84c6a4b4e2e786dd634f13874e4034ba7b175befa4ce90
stephan [Tue, 20 Sep 2022 14:21:58 +0000 (14:21 +0000)]
stephan [Tue, 20 Sep 2022 13:25:39 +0000 (13:25 +0000)]
Speed up de/serialization of func args and return values in the OPFS VFS proxy.
FossilOrigin-Name:
5bf235bbe035e4ace7a54851e190742528af6b4266328a1b8bbb9fb3dd7f2118
stephan [Tue, 20 Sep 2022 10:47:36 +0000 (10:47 +0000)]
OPFS proxy: remove one sanity-checking-only level of proxy function to shave off a few microseconds.
FossilOrigin-Name:
b534831f3efb8910a17e29956e3e87cc80055ea66e15dbef992b6a556ff042f8
stephan [Tue, 20 Sep 2022 10:11:52 +0000 (10:11 +0000)]
Remove extraneous result-code SAB slots. Doc additions.
FossilOrigin-Name:
88de20712bbe3e11ea74af95edc34e9ab9f346f9aa0a30931e5a9e1f96ce57b0
stephan [Tue, 20 Sep 2022 08:27:57 +0000 (08:27 +0000)]
An alternative messaging strategy for the OPFS VFS proxy which uses only SharedArrayBuffer and Atomics, instead of worker messages, for communication (only the initial one-time handshake during initialization uses worker messages). It runs speedtest1 approx. 15-20% faster but still 20-ish% slower than WASMFS.
FossilOrigin-Name:
a83ee3082d89439ea3ad5737e63e25bebb0f91895aca006ce5fecf5b93a2651a
stephan [Tue, 20 Sep 2022 03:31:02 +0000 (03:31 +0000)]
OPFS VFS: further internal refactoring towards experimenting with a new comms model.
FossilOrigin-Name:
5ca412ced24b4e3af5f467e710a597ed440badf7b8335346aade11d3cad3d1a1
stephan [Tue, 20 Sep 2022 01:28:47 +0000 (01:28 +0000)]
OPFS VFS: moved i/o buffer from per-file to the VFS, and related refactoring, in prep for experimentation with a new inter-worker comms model.
FossilOrigin-Name:
d4d63e4580ad8d497310608175308c03c517e051d7865cb66aa0b10356612d7d
drh [Mon, 19 Sep 2022 19:25:15 +0000 (19:25 +0000)]
Clarify comments that describe query flattener restrictions associated with
outer joins. No code changes.
FossilOrigin-Name:
2647d73bb1876d01851f52cb3fd6af08a962ab336b6d51c160d27b1baf94f75f
stephan [Mon, 19 Sep 2022 18:22:29 +0000 (18:22 +0000)]
Further metrics and buffer-copy optimizations in the OPFS proxy, but with little effect.
FossilOrigin-Name:
d1f1fe6f1c60640f7770dfb9245c459a09b8d24ec2ddf664dff77c810bd51f96
drh [Mon, 19 Sep 2022 17:41:59 +0000 (17:41 +0000)]
Fix a minor comment typo. No changes to code or documentation.
FossilOrigin-Name:
8032db4ade66f70a102abb9d3a49e20620e204c45ad7a954a49d20403985bf07
stephan [Mon, 19 Sep 2022 17:09:09 +0000 (17:09 +0000)]
Cut the speedtest1 runtime of the OPFS VFS proxy by approximately 3/4ths via xRead/xWrite buffer-copying optimizations. Still slower than the WASMFS impl by approx. 1/5th.
FossilOrigin-Name:
fb7f287310d74a3e236125ae9c49b859f9263c29ae85161c1bcf9dd0778d8a51
stephan [Mon, 19 Sep 2022 14:56:13 +0000 (14:56 +0000)]
Remove an obsolete file. Update wasmfs build for today's changes. Fix the case that OPFS.xTruncate() is passed a BigInt instead of a Number.
FossilOrigin-Name:
976053925013bf1975f5f9222e28ba648af28e305bb6bdae600eb24d0e136bec
stephan [Mon, 19 Sep 2022 13:44:23 +0000 (13:44 +0000)]
Add sqlite3_web_vfs_list() to JS API. Corrected OPFS VFS's registering itself as the default VFS. speedtest1-worker now uses the xDelete() of both the default VFS and OPFS, to avoid that it starts up with a persistent OPFS test db (the native app calls unlink(), but that unlink call operates on a different virtual filesystem than the OPFS VFS).
FossilOrigin-Name:
2ec7e09139a510b9fd29e4c97283b20740a00f369193c6fecbb734f187e81b48
stephan [Mon, 19 Sep 2022 13:16:35 +0000 (13:16 +0000)]
Merge kv-vfs branch into fiddle-opfs. Adjust various JS APIs and apps to deal with the new method of handling kvvfs. Adjust speedtest1 JS build to include sqlite3-api.js so that it can use kvvfs and opfs VFSes. Permit passing of the vfs as a URL parameter to certain demo/test apps. Milestone: speedtest-worker.html?vfs=opfs runs with the standalone OPFS impl.
FossilOrigin-Name:
ec09f32f7ae2249aaf27388ad2062982afa8bbbb5f88d236d6d9068bf33ad93d
stephan [Mon, 19 Sep 2022 11:47:38 +0000 (11:47 +0000)]
speedtest1: add --vfs NAME flag and eliminate code duplication in argc size verification for all flags which take a value.
FossilOrigin-Name:
281d09867134e0a057cfadd9bfcbf0e21b8ac9737a278c41973d33a3101be7bc
stephan [Mon, 19 Sep 2022 10:13:01 +0000 (10:13 +0000)]
stephan [Mon, 19 Sep 2022 09:58:01 +0000 (09:58 +0000)]
stephan [Mon, 19 Sep 2022 09:25:25 +0000 (09:25 +0000)]
Correct OPFS VFS xRead() to copy the result buffer if the result code is SQLITE_IOERR_SHORT_READ.
FossilOrigin-Name:
56668f9902c6e896b6c63621a444444c6f58ee20f88a5feae97f1699be35892d
stephan [Mon, 19 Sep 2022 05:19:04 +0000 (05:19 +0000)]
Replace OPFS VFS xSleep() impl with a more efficient one (no Worker round-trip needed).
FossilOrigin-Name:
b9773f164878b0a1b7c88cc7a6d1374ea95f64920065e8b2b178a1afffd82fe5
stephan [Mon, 19 Sep 2022 03:57:31 +0000 (03:57 +0000)]
Rename demo-oo1.* to demo-123.* and add demo-123-worker.html, which runs the same demo via a Worker. Doc typo fixes.
FossilOrigin-Name:
2e4a005bd35424caeaa99ace23162cf79e2ebdb159475ffad92b85dc864ad764
stephan [Mon, 19 Sep 2022 00:40:53 +0000 (00:40 +0000)]
Disable build of wasmfs-using components on aarch64 (ARM), as wasmfs won't build there.
FossilOrigin-Name:
9a9eeebc2c27b734041089131b4952d7c0440df48ef32f355641aca61d4b30a0
drh [Sun, 18 Sep 2022 17:59:28 +0000 (17:59 +0000)]
Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be
true. crash-
32d9312f145cdce41613573f6431d9a3e439e3d7
FossilOrigin-Name:
90403759e1cf30f7c11fa8170d6df59a0dd138e1de59d2b60bec7ba15d74f67c
stephan [Sun, 18 Sep 2022 17:32:35 +0000 (17:32 +0000)]
Numerous cleanups in the JS bits. Removed some now-defunct wasm test files. Expose sqlite3.opfs object containing various OPFS-specific utilities.
FossilOrigin-Name:
26e625d05d9820033b23536f18ad3ddc59ed712ad507d4b0c7fe88abd15d2be8
stephan [Sun, 18 Sep 2022 03:05:55 +0000 (03:05 +0000)]
Move the OPFS VFS bits back into api/sqlite3-api-opfs.js. Refactor the OPFS VFS init process to use a Promise-returning function which the client must call, as that eliminates any uncertainty about when the VFS (necessarily activated asynchronously) actually becomes available to the client. Rename x-sync-async.* to test-opfs-vfs.* Milestone: first successful test of OPFS without WASMFS.
FossilOrigin-Name:
b2abf60dbfa6648f671a3932cb65feb28d05a0d5b7f792351d14f9c13d9798c5
stephan [Sun, 18 Sep 2022 02:35:30 +0000 (02:35 +0000)]
Move the OPFS VFS bits back into api/sqlite3-api-opfs.js. Refactor the OPFS VFS init process to use a Promise-returning function which the client must call, as that eliminates any uncertainty about when the VFS (necessarily activated asynchronously) actually becomes available to the client.
FossilOrigin-Name:
1c660970d0f62bcfd6e698a72b050d99972a1e39f45a5ac24194a190f8f78ab3
stephan [Sun, 18 Sep 2022 00:16:12 +0000 (00:16 +0000)]
Plug OPFS methods in to their sqlite3_vfs/io_methods counterparts. Add URL args to control debug output and running of sanity-checks in the OPFS init code.
FossilOrigin-Name:
a0e93ed20b2463606a63b03ce8ca41ec1fb22886db5c5c898ace86ba24636f70
stephan [Sat, 17 Sep 2022 23:47:20 +0000 (23:47 +0000)]
Correct OPFS xRead() and xWrite() impls and add a very basic sanity test for them.
FossilOrigin-Name:
cd06cc670029763955cf60ffcf944b36d41cb005b859d9b9fd0eea1b6741d0e9
stephan [Sat, 17 Sep 2022 23:29:27 +0000 (23:29 +0000)]
Implement OPFS xAccess(), albeit with more limited semantics than the VFS API calls for. Add a way for OPFS xDelete() to optionally recursively remove empty dirs left over after deleting a file.
FossilOrigin-Name:
c342b5d745f301104c59851c753287ebbbe95a69a56cb522d376d0f3e352c30f
stephan [Sat, 17 Sep 2022 21:13:26 +0000 (21:13 +0000)]
Generic cleanups in the OPFS sync/async proxy.
FossilOrigin-Name:
f36bddbe54c3acbfaa958042e4d24724f130bdca551401033f9bc63f3da73492
stephan [Sat, 17 Sep 2022 20:50:12 +0000 (20:50 +0000)]
Add the remaining vfs/io_methods wrappers to the OPFS sync/async proxy, but most are not yet tested.
FossilOrigin-Name:
44db9132145b3072488ea91db53f6c06be74544beccad5fd07efd22c0f03dc04
drh [Sat, 17 Sep 2022 18:31:31 +0000 (18:31 +0000)]
Fix an uninitialized variable in the decoder kv-vfs.
FossilOrigin-Name:
354726aa6c399053785f29104de15091629ce4bc275b9e2205cb3656a9e81cd7
drh [Sat, 17 Sep 2022 18:29:49 +0000 (18:29 +0000)]
Include the kv-vfs as an optional VFS on unix builds if the
SQLITE_OS_KV_OPTIONAL compile-time option is present.
FossilOrigin-Name:
852812d1e2ec3c53ad7c6c64662b37d861fefcf1baeee3d58eba88bcb3f6d8df
drh [Sat, 17 Sep 2022 17:26:44 +0000 (17:26 +0000)]
Merge the latest trunk enhancements into the kv-vfs branch.
FossilOrigin-Name:
37c7ca25a6e837e7f83b96a32e2b1a455730e48a48012c458ae2e734a3ccdd1f
stephan [Sat, 17 Sep 2022 15:08:22 +0000 (15:08 +0000)]
Add initial bits of an experimental async-impl-via-synchronous-interface proxy intended to marshal OPFS via sqlite3_vfs API.
FossilOrigin-Name:
38da059b472415da52f57de7332fbeb8a91e3add1f4be3ff9c1924b52672f77c
stephan [Fri, 16 Sep 2022 20:16:50 +0000 (20:16 +0000)]
Merge kv-vfs branch into fiddle-opfs branch. Adjust speedtest1 --size flags to account for new size limit.
FossilOrigin-Name:
afb79050e635f3c698e51f06c346cbf23b096cfda7d0f1d8e68514ea0c25b7b7
drh [Fri, 16 Sep 2022 15:19:04 +0000 (15:19 +0000)]
Corrections to the xRead method for databases in the os_kv.c VFS so that it
correctly reads the header, and thus avoids unnecessary cache flushes. This
changes also includes an optimization to the header read logic.
FossilOrigin-Name:
ef54961ce69fddb4cfeeff0860288de2858a6f7a5aa396691e8e99933eb9af54
stephan [Fri, 16 Sep 2022 12:49:45 +0000 (12:49 +0000)]
When calculating kvvfs sessionStorage/localStorage size, multiply it by 2 to account for JS using 16-bit characters.
FossilOrigin-Name:
52d1b185b9f6cee1eb3dec436f47e0f52e4621a127abfad8c27f92fd78147889
stephan [Fri, 16 Sep 2022 11:45:09 +0000 (11:45 +0000)]
Merge kv-vfs branch into fiddle-opfs branch for [
21915af560b1 |synchronous=off fix]. Remove some duplicate debug output in OPFS test code.
FossilOrigin-Name:
13899bb98c80525276d2484598b94e4206358f243f06d45c02700024f7e226fd
drh [Fri, 16 Sep 2022 11:37:01 +0000 (11:37 +0000)]
Fix os_kv.c so that it uses SQLITE_FCNTL_SYNC and hence
works even with PRAGMA synchronous=OFF.
FossilOrigin-Name:
21915af560b111aeeaee751790356151a5f063c2fc703dd4b35b22dc393409fb
stephan [Fri, 16 Sep 2022 02:30:49 +0000 (02:30 +0000)]
Add batch-runner-kvvfs.html, a kvvfs-specific build of batch-runner.html. Reduce the speedtest1 --size X value for the batch list generation to 5 so that the kvvfs batch runner can handle it.
FossilOrigin-Name:
d8df25920a047d5cf2093cc6233128c5e6057a9104d0c4397e643645bd646fe1
stephan [Fri, 16 Sep 2022 02:28:03 +0000 (02:28 +0000)]
Remove --nosync flag from speedtest1-kvvfs.html, as that seems to be the trigger for the 'no such table: z1' error. That app now warns if that flag is passed to it via URL args.
FossilOrigin-Name:
ad0677e8abcc077636d1cf1d8485be4943506382581edf832e6b8a2021560040
stephan [Fri, 16 Sep 2022 01:08:06 +0000 (01:08 +0000)]
stephan [Fri, 16 Sep 2022 01:05:19 +0000 (01:05 +0000)]
Add return value checks to kvstorageWrite(), necessary for recognizing storage-full errors in the JS binding. speedtest1-kvvfs.html runs successfully on localStorage with --size 1 to 6 and starts failing with storage shortage at --size 7.
FossilOrigin-Name:
13839759f8f45e4eb0aa6a5052801f3964d5b2dc2e427e5e91ee6692176381eb
stephan [Thu, 15 Sep 2022 06:42:41 +0000 (06:42 +0000)]
More work on the synchronous OPFS experimentation. Numerous wasm/js build tweaks. Add speeedtest-wasmfs.html, the wasmfs/opfs counterpart of speedtest1.html.
FossilOrigin-Name:
00ee49a3a2c148480f614e49a0ee5b35a255758c0a53693f0b464b31e7a4045b
dan [Thu, 15 Sep 2022 03:54:52 +0000 (03:54 +0000)]
stephan [Thu, 15 Sep 2022 03:16:49 +0000 (03:16 +0000)]
Remove some stale comments. Get scratchpad-opfs-worker2.js running again in prep for reuse in experimenting with the OPFS all-synchronous API.
FossilOrigin-Name:
4cbbd370186f84e440f496e7f11c641d7dc1723acc46e4a31483392e0eb046e9
stephan [Thu, 15 Sep 2022 03:09:00 +0000 (03:09 +0000)]
Split wasmfs-enabled build of sqlite3.js/wasm into sqlite3-wasmfs.js/wasm, as enabling wasmfs breaks all tests/demos which run from a Worker thread.
FossilOrigin-Name:
08476f3c218d45846e7496bdae0b06e2122466111fdf2aa2aabb1805b15ef982
stephan [Thu, 15 Sep 2022 02:27:48 +0000 (02:27 +0000)]
dan [Wed, 14 Sep 2022 20:45:46 +0000 (20:45 +0000)]
Include recovery extension in configure/make builds of testfixture.
FossilOrigin-Name:
d2f4652144c4a54012a2176c178c5ade3463bd017515f472cfa8dafdde192df3
dan [Wed, 14 Sep 2022 18:57:46 +0000 (18:57 +0000)]
dan [Wed, 14 Sep 2022 16:37:59 +0000 (16:37 +0000)]
dan [Tue, 13 Sep 2022 20:40:57 +0000 (20:40 +0000)]
dan [Tue, 13 Sep 2022 19:47:01 +0000 (19:47 +0000)]
Fix a broken error handling case in the recovery extension.
FossilOrigin-Name:
60089547e1fc77ecc02f207ebf75ee3160e5ff25f41d12e02e170fd7fde66602
stephan [Tue, 13 Sep 2022 19:27:03 +0000 (19:27 +0000)]
Add/apply various kvvfs-specific utility APIs to the JS layer to assist in testing and analysis. Correct a backwards default arg check for sqlite3ApiBootstrap(). Add exports for sqlite3_db_handle(), sqlite3_file_control(), and the SQLITE_FCNTL_xxx enum.
FossilOrigin-Name:
0d78961870ee9f22f1ba16d423377d28dcc36e04b1e31ffd57f3e2fd51f8f0f2
dan [Tue, 13 Sep 2022 18:08:24 +0000 (18:08 +0000)]
Add tests. Deal issues surrounding aborting recovery from within the SQL callback, and avoiding the pending-byte page.
FossilOrigin-Name:
4e97dd31f5240d9231167ae172a5116426c42177a1ed3c5422b9d51b762d5a87
stephan [Mon, 12 Sep 2022 22:27:00 +0000 (22:27 +0000)]
stephan [Mon, 12 Sep 2022 20:21:34 +0000 (20:21 +0000)]
Remove an extraneous key-copy op in the EM_JS impl of kvstorageDelete().
FossilOrigin-Name:
1c5aeee45564c14e7e2e7730f3f52106339ea3148fb5aa786fa767a35db46f51
stephan [Mon, 12 Sep 2022 20:18:28 +0000 (20:18 +0000)]
Merge kv-vfs branch into fiddle-opfs and add speedtest1-kvvfs.html test app (which currently fails early on).
FossilOrigin-Name:
8b1608a9a37131121cb3a0cb1e8dbad5e39dc1fc2a341d056f09537f179b2e7a
dan [Mon, 12 Sep 2022 20:02:33 +0000 (20:02 +0000)]
Fix some problems with handling corrupt database in the recovery extension.
FossilOrigin-Name:
ed318be8241981ef96334ba13d3201a717cc812a59aed64e3dc67f7e7e71854b
drh [Mon, 12 Sep 2022 19:33:20 +0000 (19:33 +0000)]
Fix the <sys/time.h> include in os_kv.c.
FossilOrigin-Name:
878cc93e779c3857adc711f212520f007256274fcd3f6f3d72c754a937fcd198
drh [Mon, 12 Sep 2022 19:29:34 +0000 (19:29 +0000)]
Add a gettimeofday()-based implementation of xCurrentTimeInt64() to os_kv.c.
FossilOrigin-Name:
e393ed650ef124143f84e9d787fb996e308dd7af6b8f50df72a6f085b67bf9c3
dan [Mon, 12 Sep 2022 19:23:50 +0000 (19:23 +0000)]
drh [Mon, 12 Sep 2022 18:10:41 +0000 (18:10 +0000)]
Fix a debugging/testing edit in the previous check-in.
FossilOrigin-Name:
6fc8d34c0ae1f8277544be741f2f0835fad8e475d35bd24573224ccc1699b8bd
stephan [Mon, 12 Sep 2022 17:59:04 +0000 (17:59 +0000)]
Add sqlite3.oo1.DB.clearKvvfsStorage(). Add controls to kvvfs1.js demo to reset and query the db without requiring the dev console.
FossilOrigin-Name:
d845c6c22bd5d3fffc66e0566df346d690dd8bd1fc1688e312161b1a1edcfd79
drh [Mon, 12 Sep 2022 17:44:35 +0000 (17:44 +0000)]
stephan [Mon, 12 Sep 2022 16:09:50 +0000 (16:09 +0000)]
Merge kv-vfs branch into fiddle-opfs branch to add kvvfs-based wasm build and demo.
FossilOrigin-Name:
a7d8b26acd3c1ae344369e4d70804c0cab45272c0983cfd32d616a0a7b28acb9
drh [Mon, 12 Sep 2022 16:07:24 +0000 (16:07 +0000)]
New run-time options to the speed-check.sh script.
FossilOrigin-Name:
ff46bc9d2a844dde9dafa157114f4d9ee157205ca5c08ed9ee32f018de310e62
drh [Mon, 12 Sep 2022 15:59:35 +0000 (15:59 +0000)]
Fix uninitialized variable in rollback-journal processing in os_kv.c
FossilOrigin-Name:
e49682c5eac91958f143e639c5656ca54560d14f5805d514bf4aa0c206e63844
stephan [Mon, 12 Sep 2022 13:05:54 +0000 (13:05 +0000)]
Resolve missing kvvfs JS test: sqlite3_initialize() must be called by the client in this build. Add basic sanity test of kvvfs using sessionStorage().
FossilOrigin-Name:
250a935aeb94d3fadec0d3fe22de85de4e658e2fdb3be3aa9a8bbc8f7b7d8414
drh [Mon, 12 Sep 2022 12:41:07 +0000 (12:41 +0000)]
Fix the amalgamation so that it builds with the standard unix backend again.
FossilOrigin-Name:
0adf158f4e5791339988185cc29347c75056b062e0db65b5999fdfa1f433c1ed