]>
git.ipfire.org Git - thirdparty/sqlite.git/log
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
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
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)]
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
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
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
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
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
mistachkin [Fri, 9 Sep 2022 17:50:29 +0000 (17:50 +0000)]
Fix harmless compiler warning seen with MSVC.
FossilOrigin-Name:
73c4c68d3b4c16caf8281dabddd7365d24691e5ee2da89b1783eca66bfbd9280
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
stephan [Thu, 8 Sep 2022 21:33:50 +0000 (21:33 +0000)]
Make use of the --big-transactions flag in the speedtest1 JS apps.
FossilOrigin-Name:
f2846dcbcaac7880394fb14597c3a60ed310419128c4c5b863cd771a7e5cdeb5
stephan [Thu, 8 Sep 2022 21:09:42 +0000 (21:09 +0000)]
Add speedtest1 --big-transactions flag to cause its large tests which rely on implicit transactions to be wrapped in BEGIN/COMMIT, per /chat discussion. Added to support of the WASMFS build, which slows down significantly when thousands of implicit transactions are used.
FossilOrigin-Name:
51395c005da46b7fa5a5f28809dd8fea263a6bac2b1492759b3d5a5aa7d399ca
stephan [Thu, 8 Sep 2022 20:04:52 +0000 (20:04 +0000)]
Minor build cleanups and tweaks in the speedtest1 wasm apps.
FossilOrigin-Name:
5240fb4d795dea826f23cf5d2152b519f5a46f49bb2499ea868fa7c7f4ce788b
stephan [Thu, 8 Sep 2022 19:53:59 +0000 (19:53 +0000)]
Experimentally add --nomutex flag to speedtest1 to have it open db with the SQLITE_OPEN_NOMUTEX flag.
FossilOrigin-Name:
45ef576b2ee6369ab1e3aa2ad284764bb334f92a69a33d88b7292bbc0a1b1fda
drh [Thu, 8 Sep 2022 17:12:12 +0000 (17:12 +0000)]
Compiles and loads as an extension. Starts to run but quickly hits issues.
FossilOrigin-Name:
2e38726f46918b28b5c638967f960a20afd3fe84ad245f3bea39a1d64980435b
drh [Thu, 8 Sep 2022 16:27:50 +0000 (16:27 +0000)]
drh [Thu, 8 Sep 2022 15:48:01 +0000 (15:48 +0000)]
Code snapshot. Completely untested. Probably does not compile.
FossilOrigin-Name:
51e267696d25f2f83b5bb847d5254ab15573ef1a16ea3d7dd8279c73c0bee539
stephan [Thu, 8 Sep 2022 15:30:59 +0000 (15:30 +0000)]
Add speedtest1-worker.html, an interactive Worker-thread variant of speedtest1.html. Add ext/wasm/index.html to act as a gateway to the various test pages.
FossilOrigin-Name:
f16c68ee6d5ebb8dec2ab656dbab2ddb5f1d5133153ad553f986b31020adaa38
drh [Wed, 7 Sep 2022 20:11:22 +0000 (20:11 +0000)]
Enhance an assert() to impose for tighter constraints on the operation of pcache.
FossilOrigin-Name:
42105eb43a916a7cd839fa6c582eaffaef17f50b23c3e05142400c379feb73c7
drh [Wed, 7 Sep 2022 19:28:18 +0000 (19:28 +0000)]
An improved technique for ensuring that the Rekey() operation does not
overwrite an existing page number. This approach does not change the
semantics of the underlying pluggable pcache and it is easier to prove
correct. This replaces the changes at
[
aadd38f99a3e5abc ] and [
81cff9f1955874aa ].
FossilOrigin-Name:
7dbddde79e3ca1b81e00288616fc27434698ce6dcb47714728fce8602ae91f45
drh [Wed, 7 Sep 2022 17:29:22 +0000 (17:29 +0000)]
Non-working code towards a VFS for text key/value storage.
FossilOrigin-Name:
f9c89ee8d5ef46342bea78fa8d4da058d9ea628183ec985642bbda1cdfeacd5f
stephan [Tue, 6 Sep 2022 23:04:51 +0000 (23:04 +0000)]
Add a note about Emscripten's -sSINGLE_FILE flag, why it would be nice, and why we can't use it.
FossilOrigin-Name:
5ea0623630d769a8f3f07a40cd119be86b631192cdb5178131876b01b40ee5e0
stephan [Tue, 6 Sep 2022 20:17:15 +0000 (20:17 +0000)]
stephan [Tue, 6 Sep 2022 16:47:43 +0000 (16:47 +0000)]
Initial build of speedtest1.wasm and speedtest1.html with which to run it.
FossilOrigin-Name:
4441535e3e54dc1881f700fa3878964eb8554a6790fd6aa32945f7cc104a8467
stephan [Tue, 6 Sep 2022 16:35:54 +0000 (16:35 +0000)]
stephan [Tue, 6 Sep 2022 09:59:06 +0000 (09:59 +0000)]
drh [Mon, 5 Sep 2022 22:54:36 +0000 (22:54 +0000)]
Add the tool/omittest-msvc.tcl script that will try to build using MSVC
using various compile-time options, to ensure that the compile-time options
all build without errors.
FossilOrigin-Name:
6b00ecb59fd303f7985902c35a46db9e729201d4beaedea46596b728d9e4b1c8
drh [Mon, 5 Sep 2022 22:53:24 +0000 (22:53 +0000)]
Get the tool/omittest-msvc.tcl script working.
FossilOrigin-Name:
82b89f8a074858a81d841dfc26436e8d39ce4907b8f989eba4d848db16758303
drh [Mon, 5 Sep 2022 20:42:01 +0000 (20:42 +0000)]
Add a prototype for a script, similar to tool/omittest.tcl, that is designed
to test builds using MSVC to ensure they work with various OMIT options.
FossilOrigin-Name:
b1e37a0bd31fa9f8e58c2859a80c23a682b4702eefab2c55b243f1e21d475d6c
drh [Mon, 5 Sep 2022 18:17:03 +0000 (18:17 +0000)]
Fix the windows build so that it works with -DSQLITE_OMIT_AUTOINIT.
FossilOrigin-Name:
f74a5ea8c986dc33d3afcda169c38abbe55728c56716cf9991a5e2ef7fc4917a
stephan [Mon, 5 Sep 2022 13:24:08 +0000 (13:24 +0000)]
Minor cleanups in OO API #1. Add Sudoku SQL to batch-runner.js's list.
FossilOrigin-Name:
4488cb5798f34cbba14eb8e2aa5da8420c14a85d37d278d357406aedd5c3a9e5
stephan [Sat, 3 Sep 2022 11:41:44 +0000 (11:41 +0000)]
dan [Fri, 2 Sep 2022 21:19:24 +0000 (21:19 +0000)]
Ensure the Pager.journalOff variable is zeroed if an error occurs while writing the initial header to the journal file.
FossilOrigin-Name:
da7af290960ab8a04a1f55cdc5eeac36b47fa194edf67f0a05daa4b7f2a4071c
drh [Fri, 2 Sep 2022 17:25:25 +0000 (17:25 +0000)]
drh [Fri, 2 Sep 2022 15:09:55 +0000 (15:09 +0000)]
If sqlite3PcacheMove() really performs a swap, then be sure to renumber the
second page.
FossilOrigin-Name:
81cff9f1955874aade55daa94263f58f06d966bd51ad558755f92777069a7347
drh [Fri, 2 Sep 2022 14:29:54 +0000 (14:29 +0000)]
Enhance the pcache1 implementation so that during an xRekey operation if
another page already exists at the destination, that other page gets moved
to the source key.
FossilOrigin-Name:
aadd38f99a3e5abcf9bef49f4367752f163cc79500a28f812bb71969d7de419c
drh [Fri, 2 Sep 2022 11:45:26 +0000 (11:45 +0000)]
Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory
global variables. See
[forum:/forumpost/
719a11e1314d1c70 |forum thread
719a11e1314d1c70 ].
FossilOrigin-Name:
8e6ad3a3e942a326cf16432e16d6596c7206c05b6f45cd0ff3a9b836bcfc9deb
drh [Fri, 2 Sep 2022 11:12:16 +0000 (11:12 +0000)]
Improved mutex protection of the sqlite3_temp_directory and
sqlite3_data_directory global variables.
FossilOrigin-Name:
ebbe9634d6dde9e097f61fb98a79111e46de422b7bbbd9ed3af7b6f22aacf5ec
drh [Fri, 2 Sep 2022 00:36:16 +0000 (00:36 +0000)]
Experimental changes to put sqlite3_temp_directory behind a mutex.
FossilOrigin-Name:
5ee3515fbb88bf1ae5f8b507844f82dcc429380b6ebeab9b09b52b25ee60a60d
drh [Thu, 1 Sep 2022 13:51:09 +0000 (13:51 +0000)]
Defer deleting a transient SELECT statement associated with a flattening
of one arm of a compound SELECT until after the parse has completed.
FossilOrigin-Name:
1c4157c71cd1e062a9c2c79787d17e34e340f28ce1e40573851dfe174f5da7d7
drh [Thu, 1 Sep 2022 10:29:02 +0000 (10:29 +0000)]
In the query planner, add a heuristic that will reduce the cost of a full
table scan for a materialized view or subquery if the full scan is the
outer-most loop. This is shown to speed up some queries.
FossilOrigin-Name:
609fbb94b8f01d6792e5941ab23ce041313d359f6788c4dde6b1ca749ab49137
drh [Wed, 31 Aug 2022 15:04:42 +0000 (15:04 +0000)]
Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never
overloads a page number and uses only the PENDING_BYTE page for temporary
storage.
FossilOrigin-Name:
5007742886bd20de20be3973737cf46b010359911615eb3da69cd262bd9a2435
stephan [Tue, 30 Aug 2022 17:57:50 +0000 (17:57 +0000)]
batch-runner.js: add rudimentary metrics export to CSV. Add a toggle to reverse the log output mode (in normal order or most recent first).
FossilOrigin-Name:
b26e2bc05537a1f451db1bdd36a824d71c3ea25a130b6285f31ff9799d65fa7a
drh [Tue, 30 Aug 2022 16:54:41 +0000 (16:54 +0000)]
Improved comments in pcache1.c. No changes to code.
FossilOrigin-Name:
dd017bb1b3e31c7692d29dc4865d6bda871e429978c8738a39160d0114e5bf9b
stephan [Tue, 30 Aug 2022 10:26:33 +0000 (10:26 +0000)]
batch-runner.js: re-enable unlink-before-run so that OPFS speedtest1 batch can work.
FossilOrigin-Name:
ba08f7a7f12601aa580a8dc493b43cdd5ab65c87d5e4b3fd2f549343e45c2d2a
stephan [Tue, 30 Aug 2022 10:04:08 +0000 (10:04 +0000)]
batch-runner.js: move generated SQL files into ./sql and start adding hand-written ones (like the Mandelbrot) to that set.
FossilOrigin-Name:
06c106a7d23e4486dbed092757b7588688226ad35539ecc31378a8497f59d1ec
stephan [Tue, 30 Aug 2022 09:51:24 +0000 (09:51 +0000)]
Remove the .timer script entry from fiddle app because emscripten has removed getrusage(), which breaks the timer.
FossilOrigin-Name:
9034f19ae50f196cc2b94478edfcc8d765b08bcf383166f6212b3522dea63c01
stephan [Tue, 30 Aug 2022 09:49:30 +0000 (09:49 +0000)]
wasm util: remove superfluous function.bind() calls to eliminate a level of call() indirection.
FossilOrigin-Name:
1aab9627983ef0f016b01f78564e79cf815ed14d4b1b6dc04ec627b96f1b2f70
drh [Tue, 30 Aug 2022 00:11:51 +0000 (00:11 +0000)]
Any function call can abort. Take this into account when deciding if a DML
statement needs a statement journal. See
[forum:/forumpost/
9b9e4716c0d7bbd1 |forum thread
9b9e4716c0d7bbd1 ] for more
information.
FossilOrigin-Name:
5c95ae6c9b93b9bcf698bb1cad93b2da2e28121b35e7c539b1ddc0ef2de33cfe
stephan [Mon, 29 Aug 2022 18:58:38 +0000 (18:58 +0000)]
Lots of tweaking in batch-runner.js. Minor internal API update in OO #1 API.
FossilOrigin-Name:
24b82b9504db3d8e1335c2300b133f897dc1a541026dc24be5b0ffd8be66d977