diff --git a/ext/wasm/api/README.md b/ext/wasm/api/README.md index 83986e74c1..025c9afc38 100644 --- a/ext/wasm/api/README.md +++ b/ext/wasm/api/README.md @@ -1,8 +1,9 @@ # sqlite3-api.js And Friends -This is the README for the files `sqlite3-*.js`. This collection of -files is used to build a single-file distribution of the sqlite3 WASM -API. It is broken into multiple files because: +This is the README for the files `sqlite3-*.js` and +`sqlite3-wasm.c`. This collection of files is used to build a +single-file distribution of the sqlite3 WASM API. It is broken into +multiple JS files because: 1. To facilitate including or excluding certain components for specific use cases. e.g. by removing `sqlite3-api-oo1.js` if the @@ -93,3 +94,8 @@ files, and `sqlite3.js`, which is the Emscripten-generated amalgamated output and includes the `post-js-*.js` parts, as well as the Emscripten-provided module loading pieces. +The non-JS outlier file is `sqlite3-wasm.c`: it is a proxy for +`sqlite3.c` which `#include`'s that file and adds a couple more +WASM-specific helper functions, at least one of which requires access +to private/static `sqlite3.c` internals. `sqlite3.wasm` is compiled +from this file rather than `sqlite3.c`. diff --git a/ext/wasm/api/sqlite3-api-worker.js b/ext/wasm/api/sqlite3-api-worker.js index 3b5c1362a1..95b27b21ec 100644 --- a/ext/wasm/api/sqlite3-api-worker.js +++ b/ext/wasm/api/sqlite3-api-worker.js @@ -351,7 +351,7 @@ self.sqlite3.initWorkerAPI = function(){ form: { type: apiCommand, - dbId: optional DB ID value (not currently used!) + dbId: optional DB ID value (else uses a default db handle) data: apiArguments } diff --git a/ext/wasm/api/sqlite3-wasm.c b/ext/wasm/api/sqlite3-wasm.c index 506eaf66ea..6a81da3e5f 100644 --- a/ext/wasm/api/sqlite3-wasm.c +++ b/ext/wasm/api/sqlite3-wasm.c @@ -6,10 +6,11 @@ ** ** For purposes of certain hand-crafted C/Wasm function bindings, we ** need a way of reporting errors which is consistent with the rest of -** the C API. To that end, this internal-use-only function is a thin -** proxy around sqlite3ErrorWithMessage(). The intent is that it only -** be used from Wasm bindings such as sqlite3_prepare_v2/v3(), and -** definitely not from client code. +** the C API, as opposed to throwing JS exceptions. To that end, this +** internal-use-only function is a thin proxy around +** sqlite3ErrorWithMessage(). The intent is that it only be used from +** Wasm bindings such as sqlite3_prepare_v2/v3(), and definitely not +** from client code. ** ** Returns err_code. */ diff --git a/manifest b/manifest index 70cac96b86..a34ccd1ec5 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C wasm:\scorrected\s(in\sas-yet\sunused\scode)\sa\sflags\scheck. -D 2022-08-12T09:32:51.158 +C wasm:\sdocument\sthe\srole\sof\ssqlite3-wasm.c.\sOther\sminor\sdoc\supdates. +D 2022-08-12T13:07:21.618 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -478,7 +478,7 @@ F ext/wasm/GNUmakefile 5359a37fc13b68fad2259228590450339a0c59687744edd0db7bb93d3 F ext/wasm/README.md 4b00ae7c7d93c4591251245f0996a319e2651361013c98d2efb0b026771b7331 F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api c5eaceabb9e759aaae7d3101a4a3e542f96ab2c99d89a80ce20ec18c23115f33 F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287 -F ext/wasm/api/README.md 418939809469bf671fd715eabfe7e1a03fe83111f9dea93521436077da358274 +F ext/wasm/api/README.md b3c502bda9a7da0621edcbbd055b9c498a0cfed09ffed59aa026461e6e514ed1 F ext/wasm/api/post-js-footer.js b64319261d920211b8700004d08b956a6c285f3b0bba81456260a713ed04900c F ext/wasm/api/post-js-header.js 0e853b78db83cb1c06b01663549e0e8b4f377f12f5a2d9a4a06cb776c003880b F ext/wasm/api/sqlite3-api-cleanup.js 149fd63a0400cd1d69548887ffde2ed89c13283384a63c2e9fcfc695e38a9e11 @@ -486,9 +486,9 @@ F ext/wasm/api/sqlite3-api-glue.js 82c09f49c69984009ba5af2b628e67cc26c5dd203d383 F ext/wasm/api/sqlite3-api-oo1.js e9612cb704c0563c5d71ed2a8dccd95bf6394fa4de3115d1b978dc269c49ab02 F ext/wasm/api/sqlite3-api-opfs.js c93cdd14f81a26b3a64990515ee05c7e29827fbc8fba4e4c2fef3a37a984db89 F ext/wasm/api/sqlite3-api-prologue.js 0fb0703d2d8ac89fa2d4dd8f9726b0ea226b8708ac34e5b482df046e147de0eb -F ext/wasm/api/sqlite3-api-worker.js 8c5dd7b3aa8076690f49400777634161ffcb3674ebd4d3466180eea0a4499656 +F ext/wasm/api/sqlite3-api-worker.js 1124f404ecdf3c14d9f829425cef778cd683911a9883f0809a463c3c7773c9fd F ext/wasm/api/sqlite3-wasi.h 25356084cfe0d40458a902afb465df8c21fc4152c1d0a59b563a3fba59a068f9 -F ext/wasm/api/sqlite3-wasm.c 827357635c356ca178ebfa1be5915afacb682043d27c4a230c194c1ace787be4 +F ext/wasm/api/sqlite3-wasm.c 8585793ca8311c7a0618b7e00ed2b3729799c20664a51f196258576e3d475c9e F ext/wasm/api/sqlite3-worker.js 1325ca8d40129a82531902a3a077b795db2eeaee81746e5a0c811a04b415fa7f F ext/wasm/common/SqliteTestUtil.js e41a1406f18da9224523fad0c48885caf995b56956a5b9852909c0989e687e90 F ext/wasm/common/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f @@ -1999,8 +1999,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P ec55a3aa44a80f661dd451b9ea567449ea4c7353901cfd44a4b50ca10f00ddbd -R 812baa6dfe982f54923133a5de75e62f +P 06b6113783dd81252a5dd125e1cddb52a9d4e387c74cfb3ba88475e47a31060a +R a62abfa1bd7be911f96cf33e0210940f U stephan -Z e1734d64415d2036a906d9b54d25edc4 +Z 65285bd6e6db388430367f6dfb4bd451 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 3f5ea198c4..2d231af8ed 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -06b6113783dd81252a5dd125e1cddb52a9d4e387c74cfb3ba88475e47a31060a \ No newline at end of file +4c10b9b18feca82440273f8192fef951ad051bbfd8aad4d3c840cf6375130afd \ No newline at end of file