]>
git.ipfire.org Git - thirdparty/sqlite.git/log
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
stephan [Mon, 12 Sep 2022 12:39:28 +0000 (12:39 +0000)]
Initial build of kvvfs in wasm. It loads but cannot find the VFS for as-yet-unknown reasons (sqlite3 shell works fine), and most APIs throw "null function or function signature mismatch" from deep within wasm, presumably as a side effect of the "missing" VFS.
FossilOrigin-Name:
1a2f24a0bdfc6eaae478916b8f4f9c6b63ead9964534fc2951fb4e995ffe61f1
stephan [Sun, 11 Sep 2022 16:59:40 +0000 (16:59 +0000)]
Minor cleanups and documentation in the wasm pieces.
FossilOrigin-Name:
4e6ce329872eb733ba2f7f7879747c52761ae97790fd8ed169a25a79854cc3d9
stephan [Sun, 11 Sep 2022 05:44:15 +0000 (05:44 +0000)]
Correct the result code from kvstorageRead() for the OOM case to be a negative value.
FossilOrigin-Name:
cdbf09fa1b0c93aeb3222a157de33a4688ae629c2b829ffff0f1f62364c5ae1c
stephan [Sun, 11 Sep 2022 05:38:39 +0000 (05:38 +0000)]
Minor cleanups and docs for the EM_JS() impls of the kvvfs read/write/delete ops.
FossilOrigin-Name:
53b7572e441be4b4b29b4228d0f95b24457d7faaf6c0b568ed5c970a55e21ffb
stephan [Sun, 11 Sep 2022 04:49:29 +0000 (04:49 +0000)]
stephan [Sun, 11 Sep 2022 02:43:08 +0000 (02:43 +0000)]
Initial prototype impls of write/delete-key ops for the pending kvvfs which use sessionStorage or localStorage for db page storage. read-key op is pending.
FossilOrigin-Name:
a4bd96f5348e607d0fcb627b751f9d86a188173a4b3bfb2c95f92913a78bd31e
dan [Sat, 10 Sep 2022 20:01:49 +0000 (20:01 +0000)]
Rework recover extension code for readability.
FossilOrigin-Name:
1a2540960e40e3c8c622448fd3862e249bd463c29ae4ce5e39942e942533f60a
drh [Sat, 10 Sep 2022 18:38:21 +0000 (18:38 +0000)]
Improved comments in os_kv.c. Better names for the key/value name spaces.
FossilOrigin-Name:
8e1652a3856765c9146cc2a7e3b598a2dc7dc84c556b35eab9a35184514384b9
drh [Sat, 10 Sep 2022 18:20:59 +0000 (18:20 +0000)]
Move the vfskv.c extension to src/os_kv.c and make it part of the amalgamation,
activated if and only if SQLITE_OS_KV is true.
FossilOrigin-Name:
f6632e69c2ec1a7ddc4e51f3567e3bc082ee94a6dd51fdafdc0c3bf386a32d4c
dan [Fri, 9 Sep 2022 20:44:56 +0000 (20:44 +0000)]
Further fixes to comments in sqlite3recover.h. Also rework some data structures in sqlite3recover.c.
FossilOrigin-Name:
599d1f8ec2f9e24924a6f9e66c85664360c7b95531b07a4efe1dd8c096b3fc99
mistachkin [Fri, 9 Sep 2022 17:50:29 +0000 (17:50 +0000)]
Fix harmless compiler warning seen with MSVC.
FossilOrigin-Name:
73c4c68d3b4c16caf8281dabddd7365d24691e5ee2da89b1783eca66bfbd9280
dan [Fri, 9 Sep 2022 16:25:19 +0000 (16:25 +0000)]
Handle recovery of virtual tables by recovering each shadow table individually, then writing the CREATE VIRTUAL TABLE statement directly into the sqlite_schema table.
FossilOrigin-Name:
5f2d5ccd56c06c3468377126acfd4be39b79b05bb6fb09b674b2e185df143aa3
drh [Fri, 9 Sep 2022 16:16:33 +0000 (16:16 +0000)]
Database must be named either "local" or "session". Each has a distinct
namespace.
FossilOrigin-Name:
c8e41279294ea7c2f041c7d4cbbd85fce47d55f2f56180ca837316f7dfd75237
drh [Fri, 9 Sep 2022 14:22:41 +0000 (14:22 +0000)]
Separate sqlite3_io_methods objects for database files and journals.
FossilOrigin-Name:
74fbf6c2a97729e481d5562344e960d0c237aeb1f07240262d32a24fb1f4b5a3
drh [Fri, 9 Sep 2022 11:41:54 +0000 (11:41 +0000)]
stephan [Fri, 9 Sep 2022 05:39:36 +0000 (05:39 +0000)]
stephan [Fri, 9 Sep 2022 04:50:18 +0000 (04:50 +0000)]
speedtest1 wasm: add a link in the worker variant which launches the main-thread variant with the selected CLI flags. Append collected stdout/stderr to the main-thread page after execution is finished to avoid having to open the dev tools (which inexplicably slows down wasm execution).
FossilOrigin-Name:
02709ee2beab36d144b807fd9ffaee639e3c1bdd1908a34e05f3fd23dad2ef66
dan [Thu, 8 Sep 2022 21:43:18 +0000 (21:43 +0000)]