]>
git.ipfire.org Git - thirdparty/sqlite.git/log
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)]
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
dan [Thu, 8 Sep 2022 19:22:29 +0000 (19:22 +0000)]
Update the shell to use the recover extension for the .recover command.
FossilOrigin-Name:
ae832e77084eddd696c80cb926d070a5db9d45dce34156a02522b3140e8f5e8b
dan [Thu, 8 Sep 2022 17:42:33 +0000 (17:42 +0000)]
Fix problems with recovering the sqlite_sequence table.
FossilOrigin-Name:
356d2209ea5f6b69ce15b62027c63419c2d039e52f01c74a3810a6317abf4fb0
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
dan [Thu, 8 Sep 2022 11:04:23 +0000 (11:04 +0000)]
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
dan [Wed, 7 Sep 2022 16:41:33 +0000 (16:41 +0000)]
Ensure that the recover extension properly escapes CR and NL characters in text mode. Also that it holds transactions open on both input and output databases for the duration of a recovery operation.
FossilOrigin-Name:
6cca8913e703635ad89415a60fc84000ac188d9df43f45594b8ad87facb91d54
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)]
dan [Tue, 6 Sep 2022 19:38:06 +0000 (19:38 +0000)]
Tests and a fix for the SQLITE_RECOVER_ROWIDS option.
FossilOrigin-Name:
1d5000f5718004110776ff58284d824854a93fe1cd1f6d8a4e8b8b0c2b2c3076
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
dan [Mon, 5 Sep 2022 21:22:35 +0000 (21:22 +0000)]
Fix a problem with script mode and lost-and-found tables.
FossilOrigin-Name:
09ec588d2fe24dd321e88318fe90a9ae912cbc73c8a2d59a10c821625dd12d9d
dan [Mon, 5 Sep 2022 21:00:22 +0000 (21:00 +0000)]
Add a mode to output SQL statements instead of populating a database to the recover extension.
FossilOrigin-Name:
73058416e7da6581000898b7988a7010e2ce6632246f4c12b4398700c7744b83
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
dan [Mon, 5 Sep 2022 15:56:09 +0000 (15:56 +0000)]
Add the SQLITE_RECOVER_ROWIDS option. To specify that rowid values that are not also explicit INTEGER PRIMARY KEY values should be preserved.
FossilOrigin-Name:
69cc9aba56a196bbd159bd24868aa5ccc60bed0dc612d09ed8a3ae898f156809
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
dan [Sat, 3 Sep 2022 21:08:38 +0000 (21:08 +0000)]
Add an option to assume the freelist is corrupt when recovering data.
FossilOrigin-Name:
253e498f5200b8b3e2bc309587af108dd1cec8a884b3d2a49d5406525c9a4b4c
dan [Sat, 3 Sep 2022 20:31:36 +0000 (20:31 +0000)]
Take the freelist into account when recovering data that is not linked in to any tree associated with a schema entry.
FossilOrigin-Name:
dbd1f1efb349a9c8886e42b3f07d3f4c576924136f111558c7294d0a272e415a
dan [Sat, 3 Sep 2022 20:07:39 +0000 (20:07 +0000)]
Further work on making the recover extension compatible with the .recover command.
FossilOrigin-Name:
f2ac315844d8db1bd1c6950a4fef7c459ddd37cc21a8f3daafa5639fad8118e2
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
dan [Thu, 1 Sep 2022 21:00:39 +0000 (21:00 +0000)]
Further work on making recovery extension compatible with the shell tool ".recover" code.
FossilOrigin-Name:
8df7c7d0dcd1b2fcdad00e765a9868407f0ced02ac4432ee2cdf25d83b130759
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
dan [Wed, 31 Aug 2022 20:45:43 +0000 (20:45 +0000)]
Add new files for an extension to recover data from corrupted databases.
FossilOrigin-Name:
f8298eeba01cb5b02ac4d642c06f3801331ca90edea533ea898a3283981a9e49
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
stephan [Mon, 29 Aug 2022 17:41:16 +0000 (17:41 +0000)]
Add test descriptions to the speedtest1 '-- begin' markers for potential display by the downstream JS code which uses those markers.
FossilOrigin-Name:
e5b7006f0f57f10a490d7eaeb7df77251a2f684602fed8ff161d8ce60033e7bc
stephan [Mon, 29 Aug 2022 12:39:34 +0000 (12:39 +0000)]
Add batch-runner.js for running batch SQL scripts with timing info.
FossilOrigin-Name:
11f3ed61150c5940da6c157e5063e70c3aa0628dfd0023c47bb65b00af74ab1f
stephan [Mon, 29 Aug 2022 12:31:57 +0000 (12:31 +0000)]
Add get/setPtrValue() to the common wasm utils.
FossilOrigin-Name:
24d70fc458c6002d5ff3c9f8ce7c66bde299b32aca6417c2dd1236e1412b036d
stephan [Mon, 29 Aug 2022 09:51:17 +0000 (09:51 +0000)]
Add begin/end comment markers to the test blocks in speedtest1 --script output to facilitate chopping up the output into chunks for JS-side processing.
FossilOrigin-Name:
ef0b7ef2d2e19b1f9437fdd7e24f040f662d9907d1fa17c6a3892fcf091b849e
stephan [Mon, 29 Aug 2022 08:04:55 +0000 (08:04 +0000)]
oo #1 api: correct a case where a null callback is called. Rename some vars for clarity. Increase wasm-side memory in order to be able to load the speedtest1 output.
FossilOrigin-Name:
b5058f14fadbc8a1886f27cff08593dd2c8e2b2cb6d7bed3b8733a55f031989f
drh [Sat, 27 Aug 2022 16:11:00 +0000 (16:11 +0000)]
drh [Sat, 27 Aug 2022 14:43:34 +0000 (14:43 +0000)]
Ensure that every pcache page always has either the PGHDR_DIRTY or the
PGHDR_CLEAN bit set, even during transient page reshuffling during btree
balancing.
FossilOrigin-Name:
e67f03c166277951725c194674c84da61c152a5820aa6df55a726f7dda838e92
stephan [Thu, 25 Aug 2022 19:38:54 +0000 (19:38 +0000)]
Merge changes from trunk into the fiddle-opfs branch.
FossilOrigin-Name:
34279797be0922b9df05e0d4f327f8582ab25fb6fb21583f8441ddf5deded891
drh [Thu, 25 Aug 2022 19:29:35 +0000 (19:29 +0000)]
Ensure that sqlite3_prepare() inputs always have a semicolon terminator in
speedtest1.
FossilOrigin-Name:
c72756b0f2db30c622f00f43be9245d50e36049bd7740ee6332164f0c48f9c3d
drh [Thu, 25 Aug 2022 19:19:25 +0000 (19:19 +0000)]
dan [Thu, 25 Aug 2022 13:32:55 +0000 (13:32 +0000)]
Remove a NEVER() macro for a condition that is actually reachable following an OOM. dbsqlfuzz crash-
6ef3cd3b18ccc5de86120950a0498641acd90a33 .txt.
FossilOrigin-Name:
b573e2cffa5fedc893ed30e76e47022b3617ac5583e1eb486afa810b2514c419
stephan [Thu, 25 Aug 2022 13:27:52 +0000 (13:27 +0000)]
Consolidate oo1.DB.exec() and oo1.DB.execMulti() into oo1.DB.exec(). This is a bit less efficient but certainly easier for a client to deal with and lightens the maintenance burden.
FossilOrigin-Name:
7eff7213dff553b76d7ce45063e3c4a19544716611a0b609593d704076b38d0b
stephan [Thu, 25 Aug 2022 11:39:12 +0000 (11:39 +0000)]
Refactor and expand the worker1 docs, consolidating them into the top of their file instead of scattered around the internals. Accommodate an API change from yesterday in demo-oo1.js.
FossilOrigin-Name:
0a65747047322b7b585e281ac275e437ce3f46e1d06105c19117213929a906ad
stephan [Wed, 24 Aug 2022 20:57:37 +0000 (20:57 +0000)]
Change DB.exec() rowMode default from 'stmt' to 'array', per /chat discussion. Add DB.exec() rowMode option for fetching a specific column by name. Add result column names to worker1 exec() callback interface, as there's otherwise no way to get that info from a worker.
FossilOrigin-Name:
1bb37e5c477b9eb098362f74a45a55be23d450fe45cdff58c1cbff08b5b3998f
stephan [Wed, 24 Aug 2022 18:39:46 +0000 (18:39 +0000)]
Expand the worker1 'exec' op handling for per-row callbacks for API-level consistency and smooth some edges between worker1 core and worker1-promiser. Add worker1 'config-get' message to fetch the serializable parts of the sqlite3.config state. Improve the 'open' op's handling of the 'persistent' option (noting that we cannot yet test that case from a worker).
FossilOrigin-Name:
509f8839201ec1ea4863bd31493e6c29a0721ca6340755bb96656b828758fea7
drh [Wed, 24 Aug 2022 17:59:00 +0000 (17:59 +0000)]
Add a mutex to the sqlite3_db_config() interface so that it is threadsafe
when two or more threads call it on the same database connection at the same
time.
FossilOrigin-Name:
459ad8846ee1ee2d3b277a291c47121692bdf477e779b06e77be8338f62237a6